【发布时间】:2012-04-28 07:12:20
【问题描述】:
我的 JSP 页面中有这段代码:
<h:selectManyCheckbox id="chb" value="#{MyBean.selectedCheckBoxes}" layout="pageDirection">
<f:selectItems value="#{MyBean.checkBoxItems}"/>
</h:selectManyCheckbox>
在我的 MyBean 中:
public class MyBean {
public MyBean() {
for (Elem section : sections) {
checkBoxItems.put(section.getName(), section.getObjectID());
}
}
private String[] selectedCheckBoxes;
private Map<String, Object> checkBoxItems = new LinkedHashMap<String, Object>();
public String save() {
//save is not being executed....
return FORWARD;
}
public Map<String, Object> getCheckBoxItems() {
return checkBoxItems;
}
public void setCheckBoxItems(Map<String, Object> checkBoxItems) {
this.checkBoxItems = checkBoxItems;
}
public String[] getSelectedCheckBoxes() {
return selectedCheckBoxes;
}
public void setSelectedCheckBoxes(String[] selectedCheckBoxes) {
this.selectedCheckBoxes = selectedCheckBoxes;
}
}
当我点击保存时,它会在<t:message for="chb"/> 中显示以下消息
“chb”:值不是有效选项。
虽然我没有为h:selectManyCheckbox 添加required 属性,但它正在尝试验证或执行其他操作...
我已将 checkBoxItems 变量类型(带有 getter/setter)更改为 List<SelectItem>,但它不能正常工作。
可能是什么原因,我该如何解决?
PS:我使用的是 JSF 1.1
【问题讨论】: