почему f: selectItems не позволяет мне добавить другое значение?JBOSS / JSF - PullRequest
1 голос
/ 30 июня 2011

У меня есть следующий код:

<ui:repeat var="_shipment"
value="#{_order.orderShipmentList}">
<h:selectOneMenu value="#{_shipment.shipmentMethodCode.id}">
    <f:selectItems id="selectShipList"
        value="#{consoleContext.shipmentMethods}" />
</h:selectOneMenu>
</ui:repeat>

В атрибут значения f: selectItems я хочу добавить # {_ shipment.shipmentMethodCode.id} - # {consoleContext.shipmentMethods}

ТАК это будет читать 1 - Стандартная доставка

Но я получаю ошибку: Ожидается дочерний тип компонента UISelectItem / UISelectItems для типа компонента javax.faces.SelectOne (j_id58). Найдено java.lang.String.

1 Ответ

1 голос
/ 30 июня 2011

Атрибут value должен указывать на коллекцию объектов Javabeans или SelectItem, а не на строки.

Если вы не можете / не можете изменить его на стороне Javabean или SelectItem, тогда вам нужно использовать атрибут itemLabel.

<f:selectItems id="selectShipList" value="#{consoleContext.shipmentMethods}" var="shipmentMethod" 
    itemValue="#{shipmentMethod.id}" itemLabel="#{shipmentMethod.id} - #{shipmentMethod.name}" />
...