[JSF]使用DataModel处理表行事件

在使用JSF中,最常用的恐怕就要属于表格的处理了。使用DataModel可以方便地进行对表行的处理:

比如,在Goods类中有一个goodsList存放了当前的所有商品,页面的代码为:

js 代码
 
  1. <f:view>  
  2.   
  3.     <h:form>  
  4.   
  5.          ...  
  6.   
  7.     <h:dataTable value="#{Goods.goodsList}"  var="goods">  
  8.   
  9.         <h:column>  
  10.   
  11.             <f:facet name="header">  
  12.   
  13.                      <h:outputText  value="Name"/>  
  14.   
  15.             <h:commandLint action="#{Goods.select}" immediate="true">  
  16.   
  17.                     <h:outputText value="#{goods.name}"/>  
  18.   
  19.              </h:commandLink>  
  20.   
  21.         </h:column>  
  22.   
  23.            ...  
  24.   
  25.        </h:form>  
  26.   
  27. </f:view>  

Goods类如下:

java 代码
 
  1. public class Goods{  
  2.   
  3.    ....  
  4.   
  5.    private DateModel goodsList;  
  6.   
  7.    ...  
  8.   
  9.    public DataModel getGoodsList(){  
  10.   
  11.    if(goodsList == null){  
  12.   
  13.         goodsList = new DataModel();  
  14.   
  15.     }  
  16.   
  17.     goodsList.setWrappedData(getRealGoodsList());  //这里通过Service层或者Dao层访问到数据库  
  18.   
  19.     retrun goodsList;  
  20.   
  21.     }  
  22.   
  23.     public String select(){  
  24.   
  25.           Goods selectedGoods = (Goods)goodsList.getRowData();  
  26.   
  27.            setSelectedGoods(selectedGoods);  
  28.   
  29.            return "success";  
  30.   
  31.      }  
  32.   
  33.     ....  
  34.   
  35. }  
  36.   
  37.    

 

 
 

你可能感兴趣的:(DAO,JSF,F#)