的值必须是数组或集合 (javax.servlet.ServletException)

Value of must be an array or a collection (javax.servlet.ServletException)

我收到 javax.faces.FacesException: Value of 'groupList 'must be an array or a collection 错误。我用谷歌搜索了它,但我仍然不知道我似乎有一个集合:它是列表,而且我在调试器中看到它已填充。

form.xhtml:

<p:selectManyCheckbox id="groupList" value="">
    <f:selectItems value="#{formBean.groups}"/>
</p:selectManyCheckbox>

formBean.java:

...
private List<String> groups;

...
public void initFormBean()
{
    groups = repository.getAllGroups(); // debugger info: groups = (java.util.ArrayList) "size = 138"
}

...
public List<String> getGroups() {
    return groups;
}

public void setGroups(List<String> groups) {
    this.groups = groups;
}

我猜您需要通过设置 p:selectManyCheckbox 标签的值属性来绑定复选框的值。这样它就有地方存储哪些可能的项目已被选中。

另见 http://www.tutorialspoint.com/jsf/jsf_selectmanycheckbox_tag.htm