日期:2014-05-16 浏览次数:20365 次
JSF提供javax.faces.model包,数据模型DataModel类位于此包中。
DataModel实现了一个抽象任意数据绑定技术,可以被用来适应各种数据源使用JSF组件,为子组件提供Row操作功能(如UIData,表格、列表和树都是它的子类)。
例如,h:dataTable支持下面几种类型数据的存取
l????????? 数组
l????????? java.util.List
l????????? javax.servlet.jsp.jstl.sql.Result
l????????? java.sql.ResultSet
l????????? Object
分别对应以下几种DataModel:
l????????? ArrayDataModel
l????????? ListDataModel
l????????? ResultDataModel
l????????? ResultSetDataModel
l????????? ScalarDataModel
我们可以使用DataModel来设定dataTable的数据,通过调用DataModel的setWrappedObject()方法进行设定,调用getWrappedObject()则可以取回原始数据类型。
例如:
package onlyfun.caterpillar; import java.util.*; import javax.faces.model.DataModel; import javax.faces.model.ListDataModel; public class TableBean { private DataModel model; private int rowIndex = -1; public DataModel getUsers() { if (model == null) { model = new ListDataModel(); model.setWrappedData(getUserList()); } return model; } private List getUserList() { List userList = new ArrayList(); userList.add(new UserBean("caterpillar", "123456")); userList.add(new UserBean("momor", "654321")); userList.add(new UserBean("becky", "7890")); return userList; } public int getSelectedRowIndex() { return rowIndex; } public String select() { rowIndex = model.getRowIndex(); return "success"; }
?
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wu_07/archive/2007/11/01/1861782.aspx