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": 値は有効なオプションではありません。
required
の属性を追加しませんでしたがh:selectManyCheckbox
、検証しようとしているか、何か他のことを行っています...checkBoxItems
変数の型(ゲッター/セッターを使用)をList<SelectItem>
に変更しましたが、うまくいきません。何が原因でしょうか、どうすれば解決できますか?
PS: JSF 1.1 を使用しています