2013-03-14 1 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> 

을하지만이 didnt가 아무것도 :(

시도 몇 가지 패턴을하고 integerOnly = "true"로 포함하지만 아무것도 작동 :(당신의 도움에 대한 감사를 보인다 !

답변

5

변환기는 항목 레이블이 아닌 항목 값에만 적용되므로 "실패"하는 이유를 설명합니다.이 특별한 경우에 가장 좋은 방법은 custom EL function을 작성하여 다음과 같이 끝내는 것입니다. :

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

JSF 유틸리티 라이브러리 OmniFaces에는 몇 가지가 있으며 OmniFaces functions/Numbers showcase도 참조하십시오.