0

ストアド プロシージャから取得した 10 進数の値を加算し、ループ内のすべての 10 進数を 1 つの値として加算することが可能かどうか、私は困惑しています。

例えば:

<c:forEach var="row" items="${ aStoredProcedure }">
<fmt:formatNumber value="${ row.decimalNumber }"pattern="#,##0.00"/>
<br>
</c:forEach>

これにより、各行の各 decimalNumber の値が共通通貨の形式でそれぞれの行に出力されます。これらすべての decimalNumbers を相互に加算する方法が必要であり、それらすべての最終的な合計のみが必要です。これは JSP で実現できますか? どんな助けでも大歓迎です。

4

1 に答える 1

1

これは、次のように JSP で実現できます。

<c:set var="total" value="0.0" />
<c:forEach items="${aStoredProcedure}" var="row">
    <c:set var="total" value="${total + row.decimalNumber}" />
</c:forEach>
<fmt:formatNumber value="${total}" pattern="#,##0.00" />

しかし、それはまったく推奨される方法ではありません。ここ<c:forEach>では何も出力していませんが、基本的にビジネス ロジックを実行しています。ビジネス ロジックは、通常はサーブレットであるフロント コントローラーに属します。そこでは、JSP (ビュー) が必要とするデータ (モデル) を正確に準備するための Java コードを自由に書くことができます。

于 2013-06-24T13:02:45.417 に答える