快速业务通道

JSF 1.2入门,第2部分 JSF生命周期、转换、检验和阶段监听器 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
2)); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; final Contact other = (Contact) obj; if (id != other.id) return false; return true; } @Override public String toString() { return String.format("Contact: %s %s", firstName, lastName); } public long getId() { return id; } public void setId(long id) { this.id = id; } }

清单 5 给出 ContactRepository 类,这个类模拟将联系人写入数据库:

清单 5. ContactRepository

package com.arcmind.contact.model; import java.util.LinkedHashMap; import java.util.List; import java.util.ArrayList; import java.util.Map; public class ContactRepository {   private Map<Long, Contact> contacts = new LinkedHashMap<Long, Contact> ();   private static long counter = 1l;   public List<Contact> getContacts() {     return new ArrayList<Contact>(contacts.values());   }   public synchronized Contact persist(Contact contact) {     if (contact.id == 0) {      contact.id = counter++;     }     return contacts.put(contact.id, contact);   }   public synchronized void remove(Contact contact) {     contacts.remove(contact.id);   } }

现在有了一个非常简单的 CRUD 应用程序。在下一节中,我们以此为基础学习如何使用不同的 JSF 组 件。

JSF 1.2入门,第2部分 JSF生命周期、转换、检验和阶段监听器(5)

时间:2011-08-09 IBM Richard Hightower

使用 JSF 组件

在本节中,我们将使用一些 JSF 组件增强 CRUD 应用程序:

<f:subview>

<h:selectOneMenu>

<h:selectOneRadio>

<h:selectBooleanCheckbox>

<h:selectManyCheckbox>

<h:inputTextarea>

图 3 显示这些组件在 GUI 中的样子:

图 3. 包含一些常用 JSF 组件的联系人管理应用程序

JSF 1.2入门,第2部分 JSF生命周期、转换、检验和阶段监听器 - 编程入门网

子视图

您可以想像到,很难在一个页面中包含您的所有 JSF 组件。幸运的是,可以使用 <f:subview> 将 JSF 组件放在不同的视图中,见清单 6:

清单 6. 子视图 contacts.jsp

<body> <f:view>   <h3>Contacts (2nd version)</h3>   <h:messages infoClass="infoClass" errorClass="errorClass"     layout="table" globalOnly="true" />   <h:form>     <h:commandLink binding="#{contactController.addNewCommand}"      action="#{contactController.addNew}" value="Add New..." />   </h:form>   <f:subview id="form">     <jsp:include page="form.jsp" />   </f:subview>   <f:subview id="listing">     <jsp:include page="listing.jsp" />   </f:subview> </f:view> </body>

可以在父页面或包含的页面(不能同时)中使用 <f:subview>。在 JSF 1.2 中, <f:subview> 是可选的。在老版本的 JSF 中,它是必需的。一些 IDE 似乎要求有 <f:subview>,所以即使使用 JSF 1.2 或更高版本,仍然可能需要使用它们。

Select one

在 JSF 中,组件分为两部分:JSF 组件本身和一个负责显示这个组件的显示器。UISelectOne 组件有 多个显示器。它后端支持 HtmlSelectOneListbox、

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