JSF Selectitems格式标签号

时间:2013-03-14 15:53:37

标签: jsf converter selectonemenu

我有一个数字列表(范围500 - 5000,步数500)。 我想添加小数点1000 - > 1.000; 2500 - > 2.500等但只是标签不能保存为值。 我尝试了以下但它没有用:

<h:selectOneMenu value="#{bean.selectedValue}">
    <f:convertNumber type="currency" locale="de-DE" pattern="#,###" />
    <f:selectItems itemValue="#{bean.selectItemslist}" var="item" itemLabel="#{item.label}" itemValue="#{item.value} />
</h:selectOneMenu>

但这没有做任何事情:(

尝试了几种模式并包含integerOnly =“true”但似乎没有任何效果:( 谢谢你的帮助!

1 个答案:

答案 0 :(得分:5)

转换器仅适用于项目值,而不适用于项目标签。这就解释了为什么它“失败”。在这种特殊情况下,最好的办法是创建一个custom EL function,这样就可以得到这样的结果:

<f:selectItems ... itemLabel="#{my:formatNumber(item.label, '#,###')}" />

JSF实用程序库OmniFaces有几个,另请参阅OmniFaces functions/Numbers showcase