以下语法有什么问题?
<c:set var="returnAmt" value="${0.00}"/>
<c:forEach items="${stPts.olList}" var="Item" varStatus="counterMap">
<c:if test="${Item.originalDollarValue.compareTo(BigDecimal.ZERO) ne 0}">
<c:set var="returnAmtVal" value="${returnAmt + Item.originalDollarValue}" />
</c:if>
</c:foreach>
当我c:out
时,我总是得到0.00作为returnAmtVal ..
答案 0 :(得分:1)
使用方法add()
支持BigDecimal添加请注意,必须将操作结果分配给变量:
BigDecimal a = BigDecimal.ZERO; //a=0
a = a.add(BigDecimal.TEN); //a=10
因此,假设 Item.originalDollarValue 是 BigDecimal ,您的JSP必须是这样的:
<c:set var="returnAmtVal" value="${returnAmtVal.add(Item.originalDollarValue)}"/>