`
seven0_0
  • 浏览: 27348 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JSF点滴积累--DataModel类

    博客分类:
  • Jsf
阅读更多

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics