문제

여기에서 찾은 것과 비슷한 문제가 있습니다. JSF SelectItem 레이블 형식.

내가하고 싶은 것은 두 배의 값을 내 값으로 받아들이고 두 가지 소수로 표시하는 것입니다. 이것은 쉬운 방법으로 할 수 있습니까?

사용하려고 시도했지만 입력 필드의 초기 값이 아닌 서버로 전송되는 입력 텍스트의 값에 적용되는 것 같습니다.

지금까지 내 코드 :

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

편집 : 위의 코드는 실제로 작동합니다. 프로젝트를 명시 적으로 재건하고 내장 된 OC4J 서버를 다시 시작했을 때에도 JSP 페이지를 업데이트하지 않은 JDeveloper에 속했습니다. 그러나 내 컴퓨터를 재부팅 한 후에는 모든 것이 괜찮 았습니다.

도움이 되었습니까?

해결책

귀하의 요구 사항을 오해하지 않으면 뷰를 렌더링하는 동안 입력 상자의 값을 형식화 할 수있었습니다.

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

공급 업체 브랜드 이클립스에서 표준 얼굴 구성 요소를 사용하고 있었으므로 pattern 속성은 표준 JSF의 일부입니다.

다른 팁

당신이하려고하는 것은 화면에서 입력 텍스트 필드의 값을 변경하는 것이면 (사용자 입력을 수정하기 위해) 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>

나는 이것을 테스트하지 않았지만 그것이 효과가 있다고 생각합니다.

실제로 통화를 형식화하는 것 같습니다. 이미 많은 옵션을 할당 할 수있는 통화를 처리하기위한 특정 형성자가 이미 있습니다.

<f:convertNumber type="currency" />

이 태그의 흥미로운 속성은 다음과 같습니다. locale, currencyCode, integerOnly, currencySymbol 그리고 pattern.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top