使用 JSTL 的 xml 文件中的值的总和



我在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/信用的总和,我无法做到这一点,因为当我尝试使用

<x:set var="credit" select="$user/credit" scope="page"/>
<c:out value="${pageScope.credit }"/>

它给了我

[[credit: null]]

我现在想要的就是所有学分的总和

您只需使用 jstl 内核执行加法部分即可做到这一点。

在迭代之前,请创建一个 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}"/>

最新更新