2013-03-14 65 views
2

我有一個數字列表(範圍500 - 5000,步驟500)。 我想添加一個小數點1000 - > 1.000; 2500 - > 2.500等,但只是標籤不能保存爲一個值。 我嘗試以下,但它沒有工作:JSF Selectitems格式標籤號

<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「真」,但似乎沒有任何工作:( 感謝您的幫助!

回答

5

該轉換器只適用於物品價值,而不適用於物品標籤,這就解釋了爲什麼它「失敗」在這種特殊情況下,最好的辦法是創建一個custom EL function,以便最終得到這樣的結果:

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

JSF實用程序庫OmniFaces有幾個,另請參閱OmniFaces functions/Numbers showcase