如何在p:selectOneMenu中更改项目标签

时间:2013-02-03 21:31:56

标签: jsf-2 primefaces

我有一个p:selectOneMenuitemValue为真/假(布尔),但我想显示是/否而不是真/假。

<p:selectOneListbox value="#{tstMB.value}" converter="#{tstConverter}">
    <f:selectItem itemLabel="" itemValue=""/>
    <f:selectItems value="#{tstMB.valueLst}"  var="tst" 
                              itemLabel="#{tst.status}" itemValue="#{tst}"/>
</p:selectOneListbox>
上面的代码tst.status中的

返回true / false,但我想显示Yes / No等内容。

2 个答案:

答案 0 :(得分:1)

可能会改变:

itemLabel="#{tst.status}"

为:

itemLabel="#{tst.status ? 'Yes' : 'No'}"

会有所帮助。

如果您的应用程序已本地化,请使用一些本地化字符串代替这些字符串常量。

答案 1 :(得分:0)

在类中编写另一个方法tst,让我们说getDisplayStatus,其中返回Yes / No而不是true / false。
然后,将itemLabel="#{tst.status}"替换为itemLabel="#{tst.displayStatus}"