快速业务通道

怀疑论者的JSF: JSF应用程序的生命周期 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
以继续进入更新模型值的阶 段了。

在更新模型值的阶段中,会使用保存在 GUI 组件中的经过转换和有效性验证的值来调用 CD 的赋值方法。addCD() 方法是在 调用程序 阶段中被调用的。addCD() 方法使用一个业务 代理(store 对象)来执行这个操作。addCD 方法在系统中使用 store 对象来存储 CD。由 于 addCD 方法会返回成功,因此接下来会显示这个清单,这是在 faces-config.xm 中定义 的。在 faces-config.xml 中定义的导航规则如清单 7 所示。

清单 7. addCD 成功输出的导航规则

<navigation-rule>   <from-view-id>/cdForm.jsp</from-view-id>   <navigation-case>    <from-action>#{CDManagerBean.addCD}</from-action>    <from-outcome>success</from-outcome>    <to-view-id>/listing.jsp</to-view-id>   </navigation-case>   ... </navigation-rule>

怀疑论者的JSF: JSF应用程序的生命周期(8)

时间:2011-04-11 IBM Rick Hightower

使用案例 2:编辑 CD

这个示例程序的第二个使用案例也会在这个清单页面(listing.jsp)中启动。除了向您 介绍如何编辑 JSF 页面中的数据之外,这个使用案例还将向您介绍 JSF dataTable 组件。

这个清单页面使用一个 dataTable 组件来显示 CD 的清单。dataTable 的值被绑定到控 制程序类 StoreController 的 cds 属性。cds 属性的定义如清单 8 所示。

清单 8. 在 StoreController.java 中定义的 cds 属性

[StoreController.java] /** List of cds for CD listing. */ private DataModel cdModel = new ListDataModel(); {    cdModel.setWrappedData(store.findTitleAsc()); } /** * List of CDs in the system. * * @return Returns the cds. */ public DataModel getCds() {    return cdModel; }

cds 属性是基于从存储对象 StoreManagerDelegate 返回的 java.util.List 的,这个对 象是该程序的业务代理。cdModel 对从 DataModel 中的存储对象返回的清单进行了封装。 DataModel 是一个用于 dataTable 的模型。

dataTable 的定义如清单 9 所示。

清单 9. listing.jsp 中的 dataTable 定义

<f:view>    <h:form>     <h:dataTable id="items"      value="#{CDManagerBean.cds}"      var="cd"      rowClasses="oddRow, evenRow"      headerClass="tableHeader">

注意该值被绑定到控制程序的 cds 属性上。rowClasses 和 headerClass 属性用来指定 CSS 类,后者用来定义 dataTable 的外观。正如前面介绍的一样,JSF 严重依赖于 CSS 来 定义 GUI 的外观。如果您并不了解 CSS(即您之前都是使用字体标签和 HTML 表来设置外观 的),就可能会希望在灵活运行 JSF 之前首先来学习一下有关 CSS 的知识。

怀疑论者的JSF: JSF应用程序的生命周期(9)

时间:2011-04-11 IBM Rick Hightower

column 组件

Title、Artist 和 Price 域都是使用 column 组件显示的,如清单 10 所示(此处只显 示了 Title 域)。

清单 10. 在 column 组件中添加域

<h:column>    <f:facet name="header">     ...      <h:outputText value="Title"/>    </f:facet>     <h:commandLink action="#{CDManagerBean.editCD}">      <h:outputText value="#{cd.title}"/>     </h:commandLink> </h:column>

column 组件是 dataTable 的一个子组件。column 组件使用一个子组件和一个 facet。 f

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号