我有以下代码:JSF PAGE
<h:dataTablevalue="#{bean.records}" var="app">
<h:column>
<h:selectBooleanCheckbox value="#{bean.checked[app.id]}"/>
<f:facet name="footer">
<h:commandButton value="submit" action="#{bean.submitPublic}"/>
</f:facet>
</h:column>
和BEAN代码:
@SessionScoped
public class bean
private Map<Long, Boolean> checked = new HashMap<Long, Boolean>();
private List<Application> checkedItems = new ArrayList<Application>();
public void submit() {
for (Application app : getRecords()) {
if (checked.get(app.getId())) {
checkedItems.add(app);
}
}
checked.clear();
//here logic for selected apps
}
public Map<Long, Boolean> getChecked() {
return checked;
}
public void setChecked(Map<Long, Boolean> checked) {
this.checked = checked;
}
问题是,当我单击按钮时,所选的值不会提交。我在读这篇文章:如何使用
做的一切都一样,但它不工作。
选择复选框
时更新可数据。
<h:selectBooleanCheckbox value="#{bean.checked[app.id]}">
<f:ajax event="valueChange" render=":YOUR_FORM_ID:YOUR_TABLE_ID"/>
</h:selectBooleanCheckbox>