JSTL Список ручной итерации? - PullRequest
0 голосов
/ 29 ноября 2010

У меня следующая проблема (новичок в jstl), мне нужно создать 4 столбца товаров в интернет-магазине, однако я не знаю, как вручную выполнить итерацию по всему массиву, получил этот код, который повторяет товар для каждой строки:

<c:forEach items="${productCollection}" var="product">

        <tr>
            <c:forEach var="i" begin="1" end="4">

                <td>
                    <a href="productDetail.htm"><img width="90" alt="${product.productName}" src="${product.productImage}"/></a>

                    <a href="productDetail.htm"><c:out value="${product.productName}" /></a>

                </td>

            </c:forEach>

        </tr>

    </c:forEach>

Мне нужно вручную переместить массив productColeection arrayList во второй цикл. Я хотел бы сделать что-то вроде с итератором Java:

<c:forEach items="${productCollection}" var="product">

        <tr>
            <c:forEach var="i" begin="1" end="4">

                <td>
                    <a href="productDetail.htm"><img width="90" alt="${**Iterator.next().**product.productName}" src="${product.productImage}"/></a>

                    <a href="productDetail.htm"><c:out value="${**Iterator.next().**product.productName}" /></a>

                </td>

            </c:forEach>

        </tr>

    </c:forEach>

Извините, если это глупый вопрос, любая помощь будет принята с благодарностью! Спасибо

1 Ответ

3 голосов
/ 29 ноября 2010

при условии, что вы хотите 4 продукта на столбец, а затем хотите перейти к следующей строке, если есть более 4 продуктов, вы можете использовать varStatus:

<tr>
<c:forEach items="${productCollection}" var="product" varStatus="status">
    <c:if test="${status.index % 4 == 0 && !status.first && !status.last}">
        </tr>
        <tr>
    </c:if>

    <td>
        <a href="productDetail.htm"><img width="90" alt="${product.productName}" src="${product.productImage}"/></a>
        <a href="productDetail.htm"><c:out value="${product.productName}" /></a>
    </td>
</c:forEach>
</tr>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...