Номер шаблона формата типа полосы не работает должным образом

У меня есть JSP Stripes с тегом <stripes:form> и т. д. У меня есть строка, подобная следующей:

<span class='amount'>
    <fmt:formatNumber value="${MyJavaClass.amount}" type="number"/>
</span>

Я знаю, что это прекрасно работает в сочетании с соответствующим компонентом Stripes Action Bean.

Теперь я хочу отформатировать эту переменную «сумма» по-другому, то есть убедиться, что используются как минимум 2 десятичных знака. Например:

199,1 становится 199,10 362,44 остается 362,44

Я думал, что добавления formatPattern="decimal" было бы достаточно, согласно документации Stripes. Обратите внимание, что я хочу сохранить тип формата "число", я не хочу менять его на тип валюты. На самом деле я испытываю ошибки, подобные следующей:

org.apache.jasper.JasperException: /MyJSPPath/MyJSP.jsp(19,6) Attribute formatPattern invalid for tag formatNumber according to TLD

Как я могу это исправить?


person TPPZ    schedule 14.01.2013    source источник


Ответы (1)


Я исправил его, правильно установив параметр pattern.

<fmt:formatNumber value="${MyJavaClass.amount}" type="number" pattern="#.00"/>

Этого было недостаточно:

<fmt:formatNumber value="${MyJavaClass.amount}" type="number" maxFractionDigits="2"/>

Проблема, связанная только с одной цифрой, осталась (т.е. «199,3» по-прежнему было «199,3», а не «199,30»).

person TPPZ    schedule 14.01.2013