0

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

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

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

1 回答 1

1

无需使用单独的计数器。使用forEach标签的varStatus.indexorvarStatus.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>
于 2013-01-13T21:54:53.243 回答