1

私はTreeMapを持っています

<c:if test="${!empty viewObjects}">
    <table  border="0" cellpadding="0" cellspacing="0">
    <c:forEach items="${viewObjects}" var="relations">
        <c:forEach items="${relations.value}" var="role" varStatus="status">
            <c:set var="subcount" value="${status.count + 1 }"/>
            <tr class="color<c:out value="${subcount%2}"/>">
                <td>${relations.key}</td>
                <td>${role.name}</td>
            </tr>
        </c:forEach>
    </c:forEach>
    </table>
</c:if>

ネストされた foreach 内の反復ごとに +1 だけでサブカウントを増やすにはどうすればよいですか? 私が経験したことから、最初の foreach が反復するときに「ステータス」が最初からやり直すため、サブカウントにも影響し、反復の合計を取得できません。

4

1 に答える 1

4

これは、Javaの場合と同じ方法で行います。つまり、最も外側のループの外側で初期化されたカウンター変数を使用します。

int counter = 0;
for (...) {
    for (...) {
        count++;
    }
}

したがって、JSTLでは、

<c:set var="counter" value="0"/>
<c:forEach ...>
    <c:forEach ...>
        <c:set var="counter" value="${counter + 1}"/>
    </c:forEach>
</c:forEach>
于 2013-01-20T16:27:27.873 に答える