2010-11-10 14 views

cevap

26

Sen yineleme mevcut turun endeksini hesaplamak için varStatus.index çağırabilir ve ardından ikinci liste için bir arama olarak kullanabilirsiniz.

Örneğin, iki listeyi people.firstnames varsa ve people.lastnames yapabileceğiniz:

<c:forEach var="p" items="${people.firstnames}" varStatus="status"> 
    <tr> 
     <td>${p}</td> 
     <td>${people.lastnames[status.index]}</td> 
    </tr> 
</c:forEach> 
+0

Oldukça basit ve akıllı bir yaklaşım. +1 –

+0

teşekkürler. Bu çalıştı. – randy

0

Tek seferde yinelemek istediğiniz koleksiyonlara sahip olduğunuzu farz ediyorum. Bu iki koleksiyonu birleştirecek ve iterasyon için kullanacak bir alıcı ekleyin. Örneğin

JSTL içinde
private Collection<String> first; 
private Collection<String> second; 

public Collection<String> getBoth() 
{ 
    List<String> result = new ArrayList<String>(); 
    result.addAll(first); 
    result.addAll(second); 
    return result; 
} 

Yineleme için:

<c:forEach var="p" items="${people.both}"> 
    <tr> 
     <td>${p}</td> 
    </tr> 
</c:forEach> 
+0

bu kullanarak, ben birinci ve JSTL foreach kullanarak ikinci koleksiyonları yineleme nasıl? teşekkürler boris – randy

+0

getBoth() ?? sonucunu kullanın? – ZeissS

İlgili konular