如何在JSP页面的表格末尾显示数据合计值?
实现表格合计行的方法
优化后的JSP代码
<%-- 初始化合计金额变量 --%> <c:set var="totalAmt" value="0" /> <table> <thead> <tr> <th>SL</th> <th>Amt</th> </tr> </thead> <tbody> <%-- 使用varStatus获取行号,同时累加金额 --%> <c:forEach items="${listOfData}" var="data" varStatus="status"> <c:set var="totalAmt" value="${totalAmt + data.Amt}" /> <tr> <td style="text-align: center"> ${status.count} <%-- count从1开始,正好对应SL序号 --%> </td> <td> <label name="amount" style="font-size:10px;">${data.Amt}</label> <%-- 修正原代码的标签闭合错误:原<label/>>应为</label> --%> </td> </tr> </c:forEach> <%-- 添加合计行 --%> <tr> <td style="text-align: center; font-weight: bold;"> Total (${listOfData.size()}) </td> <td style="font-weight: bold;"> ${totalAmt} </td> </tr> </tbody> </table>
关键修改说明
- 替换原脚本变量
sl为JSTLforEach的varStatus属性:status.count自动从1开始递增,避免使用JSP脚本,更符合规范。 - 初始化
totalAmt变量,循环中逐行累加data.Amt,计算总金额。 - 循环结束后新增合计行,用
${listOfData.size()}获取数据行数,拼接成Total (N)格式,同时输出总金额。 - 修复原代码的标签闭合错误:将错误的
<label/>>改为正确的</label>。
内容的提问来源于stack exchange,提问作者Md. Sajjad Hussain
相关产品推荐
相关产品推荐

