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