JSF 1.2入门,第2部分 JSF生命周期、转换、检验和阶段****** - 编程入门网
rendered="#{not empty contactController.contacts}"。<h:dataTable> 组件的功能非 常丰富而且容易使用。
在 <h:dataTable> 中,使用 <h:column> 显示属性中的值。每个列在 <f:facet> 标记中定义一个标题。facet 是另一个组件使用的名称组件。然后,在 <f:facet> 后面, <h:column> 组件内部,使用 <h:outputText> 组件输出联系人的 firstName 和 lastName 属性。 每一行都有一个删除链接和一个编辑链接,每个链接都使用一个 <h:commandLink>。删除链接 绑定到 contactController.remove 方法。编辑链接绑定到 contactController.read 方法。基于配置 <f:setPropertyActionListener> 的方式,用当前行填充 contactController.selectedContact 属性。在调用动作方法之前,<f:setPropertyActionListener> 使当前行的联系人被复制到 selectedContact。 JSF 1.2入门,第2部分 JSF生命周期、转换、检验和阶段******(4)时间:2011-08-09 IBM Richard Hightower联系人 CRUD 应用程序的 faces-config.xml faces-config.xml 文件将 ContactRepository 与 ContactController 联系起来,见清单 3: 清单 3. faces-config.xml
注意,contactRepository 处于 application 范围,并使用 <managed-property> 元素将它注 入 contactController 的 contactRepository 中。可以使用这种技术把依赖项/协作组件注入控制器, 这有助于分隔模型和视图;还允许注入伪对象(mock object),以后可以用真实的对象替换这些伪对象 。我曾经多次为 ContactRepository 这样的模型对象建立伪对象,在完成 GUI 之后再用真实版本替换它 。 这个应用程序的模型非常简单,见清单 4 和清单 5。清单 4 给出 Contact 类: 清单 4. Contact
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |