2011-07-01 10 views
15

Jak sformatować argumenty mojego <spring:message>?Format Spring: komunikat argument

Mam wiadomość tak:

message.myMessage=this is {0} my message {1} with {2} multiple arguments 

Moje JSP zawiera następujące elementy:

<spring:message code="message.myMessage" 
       arguments="<fmt:formatNumber value='${value1}' currencySymbol='$' type='currency'/>,${value2},${value3}" 
       htmlEscape="false"/> 

który nie wyświetla value1, która jest liczbą Chciałbym sformatowany.

Nie jestem pewien, czy mogę dodać znacznik fmt do listy argumentów.

Odpowiedz

22

Atrybut arguments z <spring:message> może zawierać wyrażenia JSP EL, ale nie znaczniki JSP.

Spróbuj wyjąć go z gniazda. Możesz przypisać wynik <fmt:formatNumber> do zmiennej, np.

<fmt:formatNumber var="formattedValue1" value='${value1}' currencySymbol='$' type='currency'/> 
<spring:message code="message.myMessage" arguments="${formattedValue1},${value2},${value3}" htmlEscape="false"/> 
+5

Awesome! Dziękuję bardzo. FYI Musiałem zmienić argumentSeperator na "|" ponieważ sformatowana waluta ma przecinki i oddziela numery po sformatowaniu. Dzięki jeszcze raz – blong824

1

Przypisywanie sformatowaną liczbę do zmiennej, a następnie używać go w wiosennej wiadomości tagu:

<fmt:formatNumber value="${value1}" 
        var="value4" 
        type="currency"/> 

<spring:message code="message.myMessage" 
      arguments="${value4},${value2},${value3}" 
      htmlEscape="false"/> 
Powiązane problemy