如果在JSP中具有检查变量的情况

时间:2013-01-13 21:53:08

标签: jsp if-statement counter

我试图检查计数器是否运行两次。因此,我需要它,电影评论不会再显示两次。

但是,对于评论/人员,我得到一个空洞的结果。

<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>

1 个答案:

答案 0 :(得分:1)

无需使用单独的计数器。请改用forEach代码varStatus.indexvarStatus.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>