快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
acet 是一个有名的子组件;它并不是一个子孙组件。column 组件有一个名为 header 的 facet,它定义了在 header 中显示的内容。对于本例来说,commandLink 是 column 组件的 一个子孙组件。commandLink 在一个链接中显示了 CD 的标题,该链接被绑定到操作 # {CDManagerBean.editCD} 上。这个操作属性将 commandLink 绑定到控制程序类的 editCD() 方法上,如清单 11 所示。

清单 11. editCD commandLink 的后台 bean 方法

[StoreController.java] /** * Edit the CD. This get executed before the edit cdForm * page gets loaded. * * @return outcome */ public String editCD() {    this.cd = (CD) cdModel.getRowData();    this.cd = (CD) store.getCDById(cd.getId());    if ((cd.getCategory() != null) || !"".equals(cd.getCategory())) {      this.subCategoryList.setRendered(true);      this.subCategories = getSubcategoriesList(cd.getCategory());    } else {      this.subCategoryList.setRendered(false);    }    this.editMode = true;    return "success"; }

editCD() 方法

editCD() 方法是在 JSF 生命周期的调用程序阶段调用的。editCD() 方法准备控制程序 以使用编辑模式来显示 cdForm.jsp 页面。这是通过查看当前选定的 CD 来实现的,CD 是通 过调用 cdModel.getRowData() 方法来选择的。

注意 JSF DataModel 允许您从比传统的 Web 应用程序更高的层次上使用数据。您并不需 要对请求参数进行检查:只需要调用 cdModel.getRowData() 方法向 DataModel(cdModel) 查询已经选择了哪个 CD。这个更高级别的抽象对 Web 开发进行了相当程度的简化。

一旦取得当前选择的 CD 之后,就可以使用业务代理来加载该 CD 的最新拷贝了 (store.getCDById())。在加载这个 CD 之后,store.getCDById() 会激活 subCategory 清单(假设这个 CD 已经关联了一个子目录),然后将 editMode 属性设置为 true。回想一 下,editMode 属性是由 cdForm 用来显示 Add 或 Update 按钮。最后,store.getCDById() 方法返回 success。在清单 12 中重要的导航规则可以保证返回成功之后,切换到 cdForm.jsp 页面,如下所示。

清单 12. 一条重要的导航规则

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

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

时间:2011-04-11 IBM Rick Hightower

updateCD() 方法

CD 表单会加载并显示 CD 属性的属性设置。最终用户可以根据需要编辑所得到的表单, 并在完成时点击 Update 按钮。Update 按钮是当用户处于 Edit 模式时所显示的惟一一个按 钮,它只会在 editMode 为 true 时显示,如清单 13 所示。

清单 13. Update CD 按钮

[cdForm.jsp] <h:commandButton id="submitUpdate"   action="#{CDManagerBean.updateCD}"   value="Update CD"   endered="#{CDManagerBean.editMode}"/>

Update 按钮被绑定到 updateCD()

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号