Exception JSF SelectItem异常
我正在尝试将SelectItems列表提供给Exception JSF SelectItem异常,exception,jsf,Exception,Jsf,我正在尝试将SelectItems列表提供给selectOneMenu,但出现以下异常: [Ljavax.faces.model.SelectItem; cannot be cast to javax.faces.model.SelectItem 我觉得这有点奇怪。这是页面中的代码: <h:selectOneMenu value="#{user.name}"> <f:selectItem value="#{user.names}" />
selectOneMenu
,但出现以下异常:
[Ljavax.faces.model.SelectItem; cannot be cast to javax.faces.model.SelectItem
我觉得这有点奇怪。这是页面中的代码:
<h:selectOneMenu value="#{user.name}">
<f:selectItem value="#{user.names}" />
</h:selectOneMenu>
表示单个SelectItem
,但EL表达式为其提供了一个SelectItems
数组。你是说
另外,由于JSF 2.xf:selectItems
非常能够使用普通Java bean,如下所示:
因此,不再需要在支持bean中创建SelectItems。如果改用
怎么办?在我看来,user.names
包含一个名称列表。异常消息并不奇怪。[L
部分意味着它是一个对象数组。您不能将SelectItem[]
转换为SelectItem
。谢谢。我是JSF新手,所以我没有意识到这一点。
import javax.faces.model.SelectItem;
private final SelectItem[] users = {new SelectItem("Jack"),new SelectItem("Max")};
<h:selectOneListbox size="1" id="escape02" value="#{select05NoSelection.initialCollectionValues}">
<f:selectItems value="#{select05NoSelection.hobbitList}"
var="n"
itemValue="#{n}"
itemLabel="#{n.bio}"
itemDescription="#{n.description}"
itemDisabled="#{n.disabled}"
itemLabelEscaped="true"
noSelectionValue="#{select05NoSelection.hobbitList[0]}"/>
</h:selectOneListbox>