我正在学习Java Beans,JavaServer Faces。最近我遇到了问题。我有dataTable
<p:dataTable value="#{someBean.accounts}" var="people">
</p dataTable>
在此表中,有一些行包含有关人员的信息。这里我还有一个带复选框的列(组件:<h:selectBooleanCheckbox>
)。我可以选中几个复选框,然后选择“删除选择的人”按钮。
我的想法是创建一个程序,它将在按钮点击时执行,我将在其中创建已检查人员的列表。但在这里我有问题。如何将已选中的人员添加到此列表中?我为id="check#{people.userID}"
之类的复选框添加了不同的id,但我不知道必须使用bean-class的web-page id进行操作。
答案 0 :(得分:0)
您可以在People类中添加 isCheck 变量。
然后你可以尝试
List<People> list= new ArrayList();
for(People item : accounts) {
if(item.isCheck){
list.add(item);
}
}
答案 1 :(得分:0)
为此,让您的帐户自定义数据类型具有映射到该复选框的布尔变量的映射。提交时,只需浏览列表并将该变量设置为true的所有行添加到新列表中。我在我当前的项目中使用了类似的东西。
<rich:column style="text-align:center;">
<f:facet name="header">
<h:outputText value="Declare"/>
</f:facet>
<h:selectBooleanCheckbox id="selected" value="#{rBean.selectionMap[selected]}"/>
</rich:column>