Jsf javax.el.PropertyNotWritableException:/index.xhtml

Jsf javax.el.PropertyNotWritableException:/index.xhtml,jsf,el,Jsf,El,我有以下表格 <h:form> `<h:selectManyCheckbox id="booksSelectManyCheckBox" required="true" layout="pageDirection" value="# {CartBeans.selectedBooks}"> <f:selectItems value="#{CartBeans.selectableBooks}"/> </h:selectMany

我有以下表格

 <h:form>
   `<h:selectManyCheckbox id="booksSelectManyCheckBox" required="true" layout="pageDirection" value="#
{CartBeans.selectedBooks}">
         <f:selectItems value="#{CartBeans.selectableBooks}"/>
    </h:selectManyCheckbox>
    <p>
       <h:commandButton value="Add to Cart" action="#{cartBeans.addToCart}"/>
    </p>
</h:form'

`

将setter更改为:

public void setSelectedBooks(List<String> selectedBooks){
      selectedBooks.add("0136053068");
      selectedBooks.add("0132575663");
      selectedBooks.add("032459951X");
      selectedBooks.add("013605332X");
      selectedBooks.add("013605305X");
}
public void set selected book(列出selected book){
选择图书。添加(“0136053068”);
所选图书。添加(“0132575663”);
所选图书。添加(“032459951X”);
所选图书。添加(“013605332X”);
所选图书。添加(“013605305X”);
}
即使您模仿setter,方法签名也必须是正确的

public void setSelectedBooks(List<String> selectedBooks){
      selectedBooks.add("0136053068");
      selectedBooks.add("0132575663");
      selectedBooks.add("032459951X");
      selectedBooks.add("013605332X");
      selectedBooks.add("013605305X");
}