是否可以在JSP forEach循环中将小数相加



我很困惑是否可以将从存储过程中获得的十进制值相加,并将循环中的所有十进制值相加为一个值。

例如:

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

这将以通用货币的形式将每行的每个小数Number的值打印到它们自己的行上。我需要一种方法把所有这些小数相加,我只需要它们的最终和。这可以在JSP中完成吗?任何帮助都将不胜感激。

可以在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>在这里不输出任何内容,而是基本上执行业务逻辑。业务逻辑属于前端控制器,它通常是一个servlet。在这里,您可以自由地编写Java代码来准确地准备JSP(视图)所需的数据(模型)。

最新更新