-1

我收到错误消息:

javax.faces.FacesException:'frmrapport:type' 的值必须是数组或集合

来自 XHTML 文件:

<p:selectManyMenu id="type" required="true"
        value="#{userReporting.getTypeParId(userReporting.selected)[0].nomType}">
    <f:selectItem itemLabel="co" itemValue="co" />
    <f:selectItem itemLabel="pi" itemValue="pi" />
    <f:selectItem itemLabel="si" itemValue="si" />
</p:selectManyMenu>

来自 Java bean:

public List getTypeParId(int id){
    return this.genTypeFacade.getTypeParId(id);
} 

问题是 bean 是 a List,我无法将列表转换为 a String[]

4

1 回答 1

-1

userReporting.getTypeParId(userReporting.selected)正在返回一个List. 你不能访问List[0],你必须使用List#get(int index)

value="#{userReporting.getTypeParId(userReporting.selected).get(0).nomType}"

此外,请注意泛型:最好指定包含返回的集合的内容,即:

public List<Type> getTypeParId(int id){
     return this.genTypeFacade.getTypeParId(id);
}

另一个“也”:你的方法getTypeParId返回超过 1 种类型?如果是,则应该调用它getTypesParId

于 2017-06-15T14:36:50.450 回答