我有一个JSF页面,其中我创建了一个html表并使用ui:repeat显示行数据。我有一个保存按钮,当我选择一个特定的行时,我希望保存整个行数据。当我尝试选择特定行时,我无法获取行数据。 ui:repeat没有绑定属性将其绑定到支持bean dataTable。
你能否建议如何实现同样的目标。在此先感谢
答案 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)
您可以通过将当前行作为参数传递给您必须使用onchange
在selectBooleanCheckbox
jsf:ajax
事件上调用的操作来实现此目的。