2012-07-28 17 views
19

Muszę reprezentować następującą pętlę for (w kontekście Java) w JSTL/EL.Reprezentacja prostej pętli for w JSTL/EL

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

Wyświetli następujące dane wyjściowe.

6  7  8  9  10  11  12  13  14  15 

Jak mogę zrobić to samo w JSTL/EL? Nie mam dokładnego pomysłu na ten temat. Próbuję następujących rzeczy.

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

i oczywiście wyświetli następujące dane wyjściowe.

1 2 3 4 5 6 7 8 9 10 

To nie to, czego chcę. Muszę wyświetlać liczby między 6 i 15 (tj. Pomiędzy podanym zakresem). Muszę wprowadzić taką koncepcję do implementacji stronicowania w mojej aplikacji internetowej. Czy mogę to zrobić za pomocą EL?


\t w niniejszym oświadczeniu System.out.print(i+"\t"); nie jest znacząca.

Odpowiedz

39

Poniższa powinno działać:

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

Albo co następuje:

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

Albo co następuje:

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

Właśnie natknąłem się na następujące rozwiązanie.

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

I zostały usunięte atrybut varStatus="loop" i dodano atrybut var="i". Produkuje następujący wynik.

6 7 8 9 10 11 12 13 14 15 

Dokładnie tak, jak chciałem. Pomysł przyszedł z here.