的index.xhtml
<h:selectManyMenu style="height:70px" value="#{bookBean.selectedBook}">
<f:selectItems value="#{bookBean.books}"/>
</h:selectManyMenu>
<h:commandButton action="#{bookBean.doClick}" value="Submit" />
BookBean.java
List<SelectItem> books = new ArrayList<SelectItem>();
public List<SelectItem> getBooks() {
return books;
}
所以,问题是在我选择ManyMenu列表中的多个项目并单击xhtml文件中的commandButton后,它会出错。它说“目标模型类型不是集合或数组”
这是什么意思?我需要更改List&lt;&gt;任何集合类型?
该页面假设显示我在第一页中选择的项目。
答案 0 :(得分:4)
此
value="#{bookBean.selectedBook}">
必须是一个集合。
考虑一下,您选择了很多项目,因此您必须将它们存储在一个集合中。即使您选择了一个SelectItem,它也必须存储在一个集合中。
因此,请确保.selectedBook是一个集合。 此致!