0

我正在学习 Java Beans、JavaServer Faces。最近我遇到了问题。我有数据表

<p:dataTable value="#{someBean.accounts}" var="people">
</p dataTable>

在此表中,有一些行包含有关人员的信息。在这里,我还有带有复选框的列(组件:)<h:selectBooleanCheckbox>。我可以检查几个复选框并选择“删除选定的人”按钮。

我的想法是创建一个在按钮单击时执行的程序,我将在其中创建已检查人员的列表。但在这里我有问题。如何将选中的人添加到此列表中?我为复选框添加了不同的 id id="check#{people.userID}",但我不知道必须使用 bean-class 中的网页 id 进行操作。

4

2 回答 2

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>
于 2013-07-12T08:02:29.940 回答
0

您可以将isCheck变量添加到您的 People 类。

那你可以试试

List<People> list= new ArrayList();
for(People item : accounts) {
  if(item.isCheck){
  list.add(item);
 }
}
于 2013-07-12T07:59:12.033 回答