0

我在 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]]

我现在只想要我们所有学分的总和

4

1 回答 1

0

您可以通过使用 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}"/>
于 2018-12-12T06:50:31.817 回答