我收到错误:
来自XHTML文件的javax.faces.FacesException:'frmrapport:type'的值必须是数组或集合
:
<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是List
,我无法将列表转换为String[]
。
答案 0 :(得分:-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
。