2011-05-04 29 views
8

Necesito mostrar el producto en la lista en 3 columnas con foreach.JSTL foreach: obtener el objeto siguiente

Aquí está mi código:

<table> 
<c:forEach items="${lstProduct}" var="product" varStatus="status" step="3"> 
    <tr> 
     <td> 
      <!--product of column left will be display here --> 
      ${product.id} 
      ${product.name} 
     </td> 
     <td> 
      <!--product of column middle will be display here --> 
      <!--I need something like this: productMiddle = product.getNext() --> 
     </td> 
     <td> 
      <!--product of column right will be display here --> 
      <!-- productRight = productMiddle.getNext() --> 
     </td> 
    </tr> 
</c:forEach> 
</table> 

la pregunta es ¿Cómo consigo siguiente producto en la lista?

Respuesta

16

Skaffman ha dado una buena respuesta. Como alternativa, también puede simplemente colocar el <tr> fuera del ciclo e imprimir el intermedio </tr><tr> s en los momentos correctos (es decir, cada 3er elemento).

<table> 
    <tr> 
     <c:forEach items="${lstProduct}" var="product" varStatus="loop"> 
      <c:if test="${not loop.first and loop.index % 3 == 0}"> 
       </tr><tr> 
      </c:if> 
      <td> 
       ${product.id} 
       ${product.name} 
      </td> 
     </c:forEach> 
    </tr> 
</table> 
+0

Thanks man. Perfecto. – Mohit

Cuestiones relacionadas