我在JSP页面中使用JSTL来读取xml文件
一切都很完美,我可以循环浏览文件并使用此代码读取值
<x:forEach select="$resultatXML/users/user" var="user">
<tr>
<td><x:out select="$user/@num"></x:out></td>
<td><x:out select="$user/name"></x:out></td>
<td><x:out select="$user/credit"></x:out></td>
</tr>
</x:forEach>
我现在想要的是所有行的所有$ user / credit的总和,我无法做到,因为当我尝试使用
设置变量时它会给我错误<x:set var="credit" select="$user/credit" scope="page"/>
<c:out value="${pageScope.credit }"/>
它给了我
[[credit: null]]
我现在想要的是所有学分的总和
答案 0 :(得分:0)
您只需通过使用jstl core做加法部分即可。
在迭代之前,创建一个sum变量。
<c:set var="sum" value="0"/>
<x:forEach select="$resultatXML/users/user" var="user">
<tr>
...
...
...
在jstl xml变量中提取用户信用
<x:set var="userCredit" select="$user/credit"/>
<td><x:out select="$userCredit"></x:out></td>
</tr>
加到循环结束前的总和。 jstl将对该值执行适当的强制。
<c:set var="sum" value="${sum + userCredit}"/>
</x:forEach>
最后,您可以只打印总和。
<c:out value="${sum}"/>