2015-01-15 2 views
1

복합 구성 요소가 있습니다.이 구성 요소는 스 니펫입니다. f : convertNumber와 h : outputFormat을 사용할 수 있습니까?

<h:outputFormat id="output" value="{0}/{1}/{2}" rendered="#{cc.attrs.readOnly}" styleClass="#{cc.attrs.styleClass}"> 
    <f:param value="#{empty cc.attrs.value1 ? '-' : cc.attrs.value1}" /> 
    <f:param value="#{empty cc.attrs.value2 ? '-' : cc.attrs.value2}" /> 
    <f:param value="#{empty cc.attrs.value3 ? '-' : cc.attrs.value3}"/> 
</h:outputFormat> 

내가 <f:convertNumber>를 사용하여 VALUE3를 포맷 할 경우

, 내가 그걸 어떻게 할 수 있습니까?

답변

3

<h:outputFormat>은 표지 아래에서 표준 java.text.MessageFormat API을 사용합니다. 그 링크를 클릭하고 javadoc을 읽으십시오.

<f:convertNumber>java.text.NumberFormat API 표준을 따르며, 이는 MessageFormat에서도 지원됩니다. javadoc에 의하면 숫자 패턴은 {[index], number, [pattern]}으로 나타낼 수 있습니다.

따라서, 그래서 (이 예에서는 2 개의 고정 길이 부분의 숫자를 원하는 가정) :

당신이 내게 줄 정보의 큰 조각이지만, 불행하게도 나는의 그룹화 속성을 사용하는 것이 었습니다
<h:outputFormat id="output" value="{0}/{1}/{2,number,#.00}" rendered="#{cc.attrs.readOnly}" styleClass="#{cc.attrs.styleClass}"> 
    <f:param value="#{empty cc.attrs.value1 ? '-' : cc.attrs.value1}" /> 
    <f:param value="#{empty cc.attrs.value2 ? '-' : cc.attrs.value2}" /> 
    <f:param value="#{empty cc.attrs.value3 ? '-' : cc.attrs.value3}"/> 
</h:outputFormat> 
+0

convertNumber. 그게 가능하니? –

+0

그룹화를 활성화/비활성화하는 데 필요한 경우','를 추가/제거하기 만하면됩니다. – BalusC

+0

당신의 대답은 내 대답을 개발하는데 도움이되었는데, 나는 그렇게 할 때 예외적으로 예외가 생겼다. 해결책은 출력 형식의 값을 똑같이 확인하고 "숫자"또는 단순히 공백을 선택하는 것이 었습니다 –

관련 문제