在JSF中检索选定的行数据

时间:2012-05-28 05:10:39

标签: jsf jsf-2

我有一个JSF页面,其中我创建了一个html表并使用ui:repeat显示行数据。我有一个保存按钮,当我选择一个特定的行时,我希望保存整个行数据。当我尝试选择特定行时,我无法获取行数据。 ui:repeat没有绑定属性将其绑定到支持bean dataTable。

你能否建议如何实现同样的目标。在此先感谢

2 个答案:

答案 0 :(得分:1)

确保将复选框连接到bean属性:

<h:selectBooleanCheckbox id="selection" value="#{listController.checked[item.id]}" />

在你的bean中你需要:

private Map<Integer, Boolean> checked = new HashMap<Integer, Boolean>();

public Map<Integer, Boolean> getChecked() {
    return checked;
}

然后,如果您想知道选择了哪个项目,您可以这样做:

for (Map.Entry<Integer, Boolean> e : checked.entrySet()) {
    if (e.getValue()) {
        // do something with selected row
     }
 }

答案 1 :(得分:0)

您可以通过将当前行作为参数传递给您必须使用onchangeselectBooleanCheckbox jsf:ajax事件上调用的操作来实现此目的。