2008-10-03 7 views
11

여기에있는 것과 비슷한 문제가 있습니다 : JSF selectItem label formatting.JSF에서 double 서식 지정

내가 원하는 것은 my의 값으로 double을 받아들이고 두 개의 십진수로 표시하는 것입니다. 이것은 쉬운 방법으로 할 수 있습니까?

나는 이것을 사용하려고 시도했지만 입력 필드의 초기 값이 아닌 서버로 전송되는 inputText 값에 적용되는 것처럼 보입니다. 지금까지

내 코드 :

<h:inputText id="december" value="#{budgetMB.december}" onchange="setDirty()" styleClass="StandardBlack"> 
    <f:convertNumber maxFractionDigits="2" groupingUsed="false" /> 
</h:inputText> 

편집 : 위의 코드는 실제로 작동합니다. 필자는 JDeveloper에 속아서 프로젝트를 명시 적으로 재 빌드하고 임베디드 OC4J 서버를 다시 시작한 경우에도 JSP 페이지를 업데이트하지 않았습니다. 그러나, 내 컴퓨터를 재부팅 한 후 모든 것이 잘되었습니다. 나는 당신의 요구 사항을 오해하고 있지 않다 경우

+0

< and >자를 포함하는 JSF 코드를 백틱 (')으로 묶어보십시오. 일부 게시물을 먹었을 것입니다. –

답변

14

, 내가 가진 뷰의 렌더링시 입력 상자의 값의 서식을 달성 할 수 있었다 :

<h:inputText id="text1" value="#{...}"> 
    <f:convertNumber pattern="#,###,##0.00"/> 
</h:inputText> 

나는 표준을 사용되었다에서 구성 요소를 얼굴 내 vendor-branded Eclipse이므로 pattern 속성이 표준 JSF의 일부라고 가정합니다.

+0

코드가 일부 변경되어 코드가 작동했습니다. 그러나, 나는 또한 내 자신의 코드가 지금 작동 발견. JDeveloper는 내장 된 OC4J 서버를 다시 컴파일하고 다시 시작한 경우에도 변경하지 않았습니다. 내 컴퓨터를 재부팅 한 후에 모든 것이 잘 작동했다. – Stian

1

사용자 입력을 수정하기 위해 입력 텍스트 필드의 값을 화면에 변경하는 경우, Rich Faces과 같은 JSF ajax 프레임 워크 중 하나를 사용해보아야합니다.

가능한 예는 다음과 같습니다

<h:inputText id="december" value="#{budgetMB.december}" styleClass="StandardBlack"> 
    <f:convertNumber maxFractionDigits="2" groupingUsed="false" /> 
    <a4j:support event="onblur" reRender="december" /> 
</h:inputText> 

나는이 테스트를하지 않은,하지만 나는 그것이 작동하지 않을 수 있습니다 생각합니다.

+0

실제로 그것은 다른 방향이었습니다. 입력을 검증 할 필요는 없지만 입력 필드의 기본값을 형식화합니다. 어쨌든 고마워! – Stian

0

실제로 통화를 포맷하는 것으로 보입니다.

<f:convertNumber type="currency" /> 

이 태그의 일부 흥미로운 특성은 다음과 같습니다 : locale, currencyCode, integerOnly, currencySymbolpattern 이미 많은 옵션을 지정할 수 있습니다 통화를 처리하는 특정 포맷이 존재한다.