2010-07-20 39 views
7

Tôi có hai mảng mà tôi cần lặp lại. Sử dụng foreach, tôi chỉ có thể lặp qua từng lần một. Một vòng lặp thường xuyên for(i = 0; i<7; i++) sẽ là tuyệt vời.Cần lặp qua 2 mảng cùng một lúc trong JSTL

+1

Bạn đã thử các vòng lặp 'foreach' lồng nhau chưa? – skaffman

+0

lồng nhau có nghĩa là nó vòng qua vòng bên trong, và sau đó vòng lặp bên ngoài ... – tzippy

+0

Mặc dù tôi nghĩ rằng skaffman đã đúng, đăng một ví dụ Java "thô" của những gì bạn muốn đạt được trong hương vị JSTL sẽ hữu ích để có được hình ảnh. Ngoài ra, nhận xét trước của bạn có vẻ giống như một tranh luận về nhận xét của người thu thập dữ liệu. Nếu nó thực sự là một câu hỏi * * (cách đạt được điều đó), bạn nên đặt một dấu chấm hỏi thay vì ba dấu chấm. Khác nhận xét đó không có ý nghĩa nhiều. – BalusC

Trả lời

2

Dưới đây là một cái gì đó từ JSTL in Action:

<c:forEach begin="1" end="5" var="current"> 
    <c:out value="${current}"/> 
</c:forEach> 
10

Tôi nghĩ tôi xem những gì bạn có nghĩa là - bạn có hai mảng (có thể là kích thước bằng nhau), và bạn muốn để lặp để bạn sử dụng các chỉ số vòng lặp để truy cập mỗi mảng.

Nếu đó là ý của bạn (và nó không rõ ràng từ câu hỏi của bạn), thì bạn có thể làm điều gì đó như thế này (giả sử arrayXarrayY).

<c:forEach items="${arrayX}" varStatus="loop"> 
    <c:out value="${arrayX[loop.index]}"/> 
    <c:out value="${arrayY[loop.index]}"/> 
</c:forEach> 

này sử dụng arrayX để có được iterator, nhưng sau đó sử dụng tra cứu được lập chỉ mục vào arrayXarrayY.

varStatus được mô tả here.

+0

Có thể thực hiện tương tự với Bộ sưu tập không? – zygimantus

Các vấn đề liên quan