Исключение JSF SelectItem - PullRequest
       3

Исключение JSF SelectItem

0 голосов
/ 29 февраля 2012

Я пытаюсь дать список SelectItems для 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>

А в классе пользователя:

import javax.faces.model.SelectItem;
private final SelectItem[] users = {new SelectItem("Jack"),new SelectItem("Max")};

1 Ответ

1 голос
/ 29 февраля 2012

<f:selectItem> представляет один SelectItem, но ваше EL-выражение передает ему массив SelectItems.Вы имели в виду <f:selectItems>?

Кроме того, поскольку JSF 2.x f:selectItems вполне способен работать с обычными компонентами Java Bean, как показывают официальные документы 1009 *:

<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> 

Поэтому больше нет необходимости создавать SelectItems в компоненте поддержки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...