2009-10-13 5 views
13

<s:property value="summary.total"/> 태그로 표시된 번호의 서식을 Struts 2에 지정하고 싶습니다. double 값이 있습니다. 어떻게해야합니까? OGNL을 사용해야합니까?Struts의 형식 번호 2 <s:property/> 태그

아니면 <s:text/> 태그를 사용해야하고 파일을 다시 생성 할 때 내 형식을 정의해야합니까?

답변

9

<s:text/><s:param/>을 사용해야합니다.

재산권 파일 :

summary.cost= € {0,number,##0.00} 

JSP는 :

<s:text name="summary.cost"> 
    <s:param name="value" value="summary.total"/> 
</s:text> 

This answer는 형식 마스크에 #0을 사용하는 방법에 대해 설명합니다.

+0

그래 @sarie 언급이 경우 당신은 FMT와 함께 갈 수있는, 내가 발견,하지만 난 아마 뭔가 빨리 :) – prostynick

+0

앞에'double' 값 및 €가 있다고 생각? 나는 분명히 당신이 통화에 부동 소수점 숫자를 사용하지 않기를 희망합니다. – Svante

+0

나는 결코 언급하지 않았고 트릭은 결코 '더블'을 언급하지 않았다.) – prostynick

6

이 사람은 빠르다 :

<s:property value="getText('struts.money.format', {summary.cost})" /> 

그리고 당신의 특성

이 파일 :

struts.money.format= {0,number,\u00A4##0.00} 

희망이 도움을

<s:property value="getText('{0,number,#,##0.00}',{summary.total})"/> 

행운의 더 빠른

16

방법을! !

그래서 내가 사용 :

2

내가 1.234,56

그래서 내가 두 태그를 선호 이런 식으로 숫자를 포맷하기 위해이 문제를 (번호가 존재하지 않는 s는 FMT 때문에) 태그와 FMT 태그 스트럿했다 다음 syntaxe :

<s:label label="mylabel"> 
    <s:param name="value"> 
     <s:text name=""> 
    <fmt:formatNumber maxFractionDigits="2" pattern="#.###" >1234.56</fmt:formatNumber> 
     </s:text> 
    </s:param>  
</s:label> 

과 재산이 수는 다음 gettext에가 작동하지 않습니다 액션에없는 경우이 작업

1

입니다. 패턴은 숫자 만 허용합니다.

<fmt:formatNumber groupingUsed="true" type="currency" value="${amount}" />