我试图检查计数器是否运行两次。因此,我需要它,电影评论不会再显示两次。
但是,对于评论/人员,我得到一个空洞的结果。
<c:set var="counter" value="${0}"/>
<c:forEach items="${ reviews }" var="review">
<c:forEach items="${ persons }" var="person">
<c:if test="{ counter % 2 == 0}">
<div class="review">
<p>
<div class="user">
Benutzer: <c:out value="${ person.email }"></c:out>
</div>
<div class="stars">
Einzelbewertung: <c:out value="${ review.stars }"></c:out>
</div>
<div style="color: grey; font-size: 14px;">Meinung:</div>
<div class="reviewText">
<c:out value="${ review.text }"></c:out>
</div>
</p>
</div>
<c:set var="counter" value="${counter + 1}" />
</c:if>
</c:forEach>
答案 0 :(得分:1)
无需使用单独的计数器。请改用forEach
代码varStatus.index
或varStatus.count
。有关详情,请参阅http://www.ibm.com/developerworks/java/library/j-jstl0318/。
这样的事情(注意status.index
每次审核都从零开始):
<c:forEach items="${ reviews }" var="review">
<c:forEach items="${ persons }" var="person" varStatus="status">
<c:if test="${ status.index % 2 == 0}">
<div class="review">
<p>
<div class="user">
Benutzer: <c:out value="${ person.email }"></c:out>
</div>
<div class="stars">
Einzelbewertung: <c:out value="${ review.stars }"></c:out>
</div>
<div style="color: grey; font-size: 14px;">Meinung:</div>
<div class="reviewText">
<c:out value="${ review.text }"></c:out>
</div>
</p>
</div>
</c:if>
</c:forEach>
</c:forEach>