如何动态创建 <f:selectItem> 列表?
Posted
技术标签:
【中文标题】如何动态创建 <f:selectItem> 列表?【英文标题】:How to dynamically create a <f:selectItem> list? 【发布时间】:2011-01-26 22:53:28 【问题描述】:有没有办法动态创建一个 selectItem 列表?我真的不想创建大量 bean 代码来让我的列表返回 List<SelectItem>
。
我试过了:
<ice:selectManyCheckbox>
<ui:repeat var="product" value="#productListingService.list">
<f:selectItem itemLabel="#product.description" value="#product.id"/>
</ui:repeat>
</ice:selectManyCheckbox>
但它不起作用。
有什么想法吗?
【问题讨论】:
【参考方案1】:请改用<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" />
另见:
Our<h:selectOneMenu>
wiki page
【讨论】:
以上是关于如何动态创建 <f:selectItem> 列表?的主要内容,如果未能解决你的问题,请参考以下文章
如何在childlayout中更新textview动态创建的textview?