基于jsf的datatable多选操作

首先在页面上要使用Myfaces的一个taglib
<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
然后在页面的<f:view>内部用
<t:saveState value="#{后台Bean}"></t:saveState>
下面是datatable的写法
<h:dataTable id="dt" value="#{后台Bean.resultList}" var="aaa"

binding="#{后台Bean.table}">//这里在后台bean中要有table属性,是UIData

类型的,提供get,set方法
<h:column>
<f:facet name="header">
<h:outputText value="序号" />
</f:facet>
<center>
<h:selectBooleanCheckbox value="#{后台Bean.selectTable[后台

Bean.table.rowIndex]}" />//这里在后台bean中要有selectTable这个属性

       <h:outputText value="#{后台Bean.table.rowIndex+1}" />
</center>
</h:column>

后台bean的写法

public class 后台Bean{

private UIData table;
private boolean[] selectTable;
private List list;
@PersistenceContext
private EntityManager em;

public List getResultList(){
list = 调用ejb的方法得到list的结果
       selectTable = new boolean[list.size()];//给变量初始化是在此位置
return list;
}

public String deleteAction(){
   for(int i = 0; i < selectTable.length; i++){
if(selectTable[i]){
   em.remove(list.get(i));
}
    }
    return "success";
}
}

你可能感兴趣的:(apache,bean,JSF,ejb)