2010-11-10 33 views

Respuesta

26

Puede llamar varStatus.index para obtener el índice de la actual ronda de iteración, y luego usarlo como una búsqueda de la segunda lista.

Por ejemplo, si tiene dos listas people.firstnames y people.lastnames que puede hacer:

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

enfoque bastante directo e inteligente. +1 –

+0

gracias. esto funcionó. – randy

0

Supongo que tiene colecciones que desea iterar de una vez. Agregue un getter que fusionará estas dos colecciones y lo usará para la iteración. Por ejemplo

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; 
} 

iteración en JSTL:

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

usando esto, ¿cómo puedo repetir la primera y la segunda colecciones utilizando foreach jstl? gracias boris – randy

+0

Usa el resultado de getBoth() ??? – ZeissS

Cuestiones relacionadas