[JSF]使用DataModel处理表行事件的实例代码
作者:
在使用JSF中,最常用的恐怕就要属于表格的处理了。使用DataModel可以方便地进行对表行的处理:
比如,在Goods类中有一个goodsList存放了当前的所有商品,页面的代码为:
js 代码
复制代码 代码如下:
<f:view>
<h:form>
...
<h:dataTablevalue="#{Goods.goodsList}"var="goods">
<h:column>
<f:facetname="header">
<h:outputTextvalue="Name"/>
<h:commandLintaction="#{Goods.select}"immediate="true">
<h:outputTextvalue="#{goods.name}"/>
</h:commandLink>
</h:column>
...
</h:form>
</f:view>
Goods类如下:
java 代码
复制代码 代码如下:
publicclassGoods{
....
privateDateModelgoodsList;
...
publicDataModelgetGoodsList(){
if(goodsList==null){
goodsList=newDataModel();
}
goodsList.setWrappedData(getRealGoodsList());//这里通过Service层或者Dao层访问到数据库
retrungoodsList;
}
publicStringselect(){
GoodsselectedGoods=(Goods)goodsList.getRowData();
setSelectedGoods(selectedGoods);
return"success";
}