JSF点滴积累--DataModel类

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
分别对应以下几种 DataMo del
l          ArrayDataModel
l          ListDataModel
l          ResultDataModel
l          ResultSetDataModel
l          ScalarDataModel
我们可以使用 DataModel 来设定 dataTable 数据,通过调用 DataModel setWrappedObject() 方法进行设定,调用 getWrappedObject() 则可以取回原始数据类型。
例如:
TableBean.java
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 " ;
    }
}

 

部分参考:JSF学习笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值