1

BigDecimal フィールドが次のように定義された Bean があります。

@Digits(integer=3, fraction=2)
@NumberFormat(style=Style.NUMBER)
private BigDecimal vatRate = new BigDecimal(0.0f);

フォーマットはフォーム内でうまく機能します(私は を使用します<mvc:annotation-driven />)が、テーブルに値を入力しようとすると

<td> ${c.vatRate} %</td>

12.30000000000000000000000000000000 %またはとして値を取得しています0E-32 %

私も使用しようとしまし<fmt:formatNumber/>たが、例外が発生しました

In &lt;formatNumber&gt;, value attribute can not be parsed into java.lang.Number: " 0E-32"

今のところ、フォーマットされた値を提供する Bean 用の特別な String getter を使用した唯一のソリューションになります。しかし、プレゼンテーション層に「良い」ソリューションはありますか (理想的には @Digits アノテーションを尊重しますか?)

4

1 に答える 1

1

偶然にも、私の問題を解決する次の回答を見つけました。

<td> <spring:eval expression="c.vatRate"/> %</td>
于 2013-08-19T13:29:02.420 に答える