创建已检查元素的列表

时间:2013-07-12 07:47:34

标签: java jsf

我正在学习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进行操作。

2 个答案:

答案 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>