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