2010-11-29 2 views
0

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

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

Мне нужно перенести массив ProductColeectionList вручную во второй цикл. я хочу, чтобы я мог сделать что-то подобное с 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> 

Im извините, если его немой вопрос, любая помощь будет оценен по достоинству! Благодаря

+0

вы хотите другой продукт на колонке? что произойдет, если есть более 4 продуктов? – 2010-11-29 17:41:37

ответ

3

если вы хотите 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> 
+0

ну, что я могу сказать, отлично! Спасибо! – Ernest 2010-11-29 18:33:46

Смежные вопросы