web-dev-qa-db-ja.com

<f:selectItem>リストを動的に作成するにはどうすればよいですか?

SelectItemリストを動的に作成する方法はありますか?リストにList<SelectItem>を返すために、多くのBeanコードを作成する必要はありません。

私はこれを試しました:

<ice:selectManyCheckbox>
    <ui:repeat var="product" value="#{productListingService.list}">
      <f:selectItem itemLabel="#{product.description}" value="#{product.id}"/>
    </ui:repeat>
</ice:selectManyCheckbox>

しかし、それは機能しません。

何か案は?

16
DD.

代わりに<f:selectItems>を使用してください。 List<SelectItem>SelectItem[]の隣にMap<String, Object>も値として受け入れます。ここで、マップキーはアイテムラベルであり、マップ値はアイテム値です。または、すでにJSF 2.0を使用している場合は、代わりにList<SomeBean>を使用できます。ここで、現在のアイテムはvar属性で参照できます。

<f:selectItems value="#{productListingService.list}" var="product" 
    itemLabel="#{product.description}" itemValue="#{product.id}" />

参照:

30
BalusC