很多資料經常使用表格來表現,JSF提供標籤讓您得以列舉資料並使用表格方式來呈現,舉個實際的例子來看,假設您撰寫了以下的兩個類別:
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
/p>
Inc.//DTD JavaServer Faces Config 1.0//EN"
"http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
tableBean
onlyfun.caterpillar.TableBean
request
userBean
onlyfun.caterpillar.UserBean
request
我們可以如下使用來產生表格資料:
index.jsp
的value值綁定tableBean的userList方法,它會一個一個取出List中的資料並設定給var設定的user,之後在每一個column中我們可以顯示所列舉出的user.name與user.password,程式的結果會如下所示:
所產生的HTML表格標籤如下:
caterpillar | 123456 |
momor | 654321 |
becky | 7890 |
的value值綁定的對象可以是以下的型態:
陣列
java.util.List的實例
java.sql.ResultSet的實例
javax.servlet.jsp.jstl.sql.Result的實例
javax.faces.model.DataModel的實例