第九野,DJ野,学习,休闲,生活,分享,社区,~~~,路人乙,很高兴你能来这里! SiteMap | About Us | Guest Book | Contact Us | Search | Tags | Rss
第九野(DJ野)~生活学习休闲情感分享社区~分享一切~All for me , All for you !
Search 
<< JSF入门与提高之其它标签JSF入门与提高之TableModel类别 >>

JSF入门与提高之简单的表格 

字体大小:   
资料来源: From PmWiki@caterpillar
作者: caterpillar
  很多数据经常使用表格来表现,JSF提供<h:dataTable>卷标让您得以列举数据并使用表格方式来呈现,举个实际的例子来看,假设您撰写了以下的两个类别:
UserBean.java
package onlyfun.caterpillar;

public class UserBean {
private String name;
private String password;

public UserBean() {
}

public UserBean(String name, String password) {
this.name = name;
this.password = password;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}
}
TableBean.java
package onlyfun.caterpillar;

import java.util.*;

public class TableBean {
private List userList;

public List getUserList() {
if(userList == null) {
userList = new ArrayList();
userList.add(new UserBean("caterpillar", "123456"));
userList.add(new UserBean("momor", "654321"));
userList.add(new UserBean("becky", "7890"));
}

return userList;
}
}
  在TableBean中,我们假设getUserList()方法实际上是从数据库中查询出UserBean的内容,之后传回List对象,若我们的 faces-config.xml如下:
faces-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems,
Inc.//DTD JavaServer Faces Config 1.0//EN"
"http://java.sun.com/dtd/web-facesconfig_1_0.dtd">

<faces-config>
<managed-bean>
<managed-bean-name>tableBean</managed-bean-name>
<managed-bean-class>
onlyfun.caterpillar.TableBean
</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>userBean</managed-bean-name>
<managed-bean-class>
onlyfun.caterpillar.UserBean
</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
</faces-config>
  我们可以如下使用<h:dataTable>来产生表格数据:
index.jsp
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<html>
<body>
<f:view>
<h:dataTable value="#{tableBean.userList}" var="user">
<h:column>
<h:outputText value="#{user.name}"/>
</h:column>
<h:column>
<h:outputText value="#{user.password}"/>
</h:column>
</h:dataTable>
</f:view>
</body>
</html>
  <h:dataTable>的value值绑定tableBean的userList方法,它会一个一个取出 List中的数据并设定给var设定的user,之后在每一个column中我们可以显示所列举出的user.name与user.password,程序的结果会如下所示:

  所产生的HTML表格卷标如下:
<table>
<tbody>
<tr>
<td>caterpillar</td>
<td>123456</td>
</tr>
<tr>
<td>momor</td>
<td>654321</td>
</tr>
<tr>
<td>becky</td>
<td>7890</td>
</tr>
</tbody>
</table>
  <h:dataTable>的value值绑定的对象可以是以下的型态:
• 数组
• java.util.List的实例
• java.sql.ResultSet的实例
• javax.servlet.jsp.jstl.sql.Result的实例
• javax.faces.model.DataModel的实例

返回目录

<< JSF入门与提高之其它标签JSF入门与提高之TableModel类别 >>

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

网站地图 | 合作伙伴 | 隐私保护 | 版权声明 | 商业合作 | 联系我们