2012-07-28 13 views
19

Necesito representar el siguiente bucle for (en contexto Java) en JSTL/EL.Representación de un bucle for simple en JSTL/EL

for (int i = 6; i <= 15; i++) { 
    System.out.print(i+"\t"); 
} 

Mostraría la siguiente salida.

6  7  8  9  10  11  12  13  14  15 

¿Cómo puedo hacer lo mismo en JSTL/EL? No tengo una idea precisa al respecto. Solo estoy intentando lo siguiente.

<c:forEach begin="6" end="15" varStatus="loop"> 
    <c:out value="${loop.count}"/> 
</c:forEach> 

y obviamente mostraría la siguiente salida.

1 2 3 4 5 6 7 8 9 10 

No es lo que quiero. Necesito mostrar los números entre 6 y 15 (es decir, entre el rango especificado). Necesito poner ese concepto para implementar paginación en mi aplicación web. ¿Puedo hacer esto usando EL?


\t en esta declaración System.out.print(i+"\t"); no es significativo.

Respuesta

39

El siguiente debería funcionar:

<c:forEach begin="6" end="15" var="val"> 
    <c:out value="${val}"/> 
</c:forEach> 

O lo siguiente:

<c:forEach begin="6" end="15" varStatus="loop"> 
    <c:out value="${loop.current}"/> 
</c:forEach> 

O lo siguiente:

<c:forEach begin="6" end="15" varStatus="loop"> 
    <c:out value="${loop.index}"/> 
</c:forEach> 
4

Acabo de encontrar la siguiente solución.

<c:forEach begin="6" end="15" var="i"> 
    <c:out value="${i}"/> 
</c:forEach> 

He quitado el atributo varStatus="loop" y añadido el atributo var="i". Produce la siguiente salida.

6 7 8 9 10 11 12 13 14 15 

Exactamente como yo quería. La idea provino del here.