0

我有代码

<p:selectOneMenu id="starter" value="#{reportRegisterManagedBean.starter}" style="width:160px" converter="#{reportStarterConverter}">
<f:selectItem itemLabel="Select Report Starter" itemValue="0"
itemDescription="TEST" />
<f:selectItems
value="#{reportRegisterManagedBean.startersSelectItems}" var="ds" itemLabel="#{ds.name}" itemValue="#{ds}" itemDescription="#{ds.description}" />
</p:selectOneMenu>

这里的属性在标签itemDescription="TEST"中效果很好。<f:selectItem>itemDescription="#{ds.description}" 不能在<f:selectItems>标签中工作。

这里有错误吗?

4

1 回答 1

1

f:selectItems 需要一个您在我们的 bean 中定义的列表,如下所示:

List<SelectItem> list = new LinkedList<SelectItem>();
list.add(new SelectItem("this will be the return value -> itemValue", "this will be the display value -> itemLable"));

如果这样做,您甚至不需要 itemValue 或 itemDescription,因为它已在列表中定义。

更新(注意:您不需要 itemValue、itemDescription):

在您的 xhtml 页面中,它看起来像这样:

<p:selectOneMenu value="#{reportRegisterManagedBean.starter}">
    <f:selectItems value="#{reportRegisterManagedBean.startersSelectItems}" />
</p:selectOneMenu>
于 2013-03-25T07:39:57.333 回答