index for list jsp foreach hashmap jstl

list - index - jstl foreach items



Iterar elementos de Lista y Mapa usando la etiqueta JSTL<c: forEach> (2)

Mark, esto ya está respondido en tu tema anterior . Pero está bien, aquí está de nuevo:

Supongamos que ${list} apunta a una List<Object> , luego la siguiente

<c:forEach items="${list}" var="item"> ${item}<br> </c:forEach>

básicamente hace lo mismo que seguir en "Java normal":

for (Object item : list) { System.out.println(item); }

Si tiene una List<Map<K, V>> lugar, entonces la siguiente

<c:forEach items="${list}" var="map"> <c:forEach items="${map}" var="entry"> ${entry.key}<br> ${entry.value}<br> </c:forEach> </c:forEach>

básicamente hace lo mismo que seguir en "Java normal":

for (Map<K, V> map : list) { for (Entry<K, V> entry : map.entrySet()) { System.out.println(entry.getKey()); System.out.println(entry.getValue()); } }

La key y el value son aquí métodos especiales o eso. En realidad, son métodos getter del objeto Map.Entry (haga clic en el enlace azul Map.Entry para ver el documento API). En EL (Expression Language) puede usar el . operador de punto para acceder a los métodos getter usando "nombre de propiedad" (el nombre del método getter sin el prefijo get ), todo de acuerdo con la especificación Javabean.

Dicho esto, realmente necesita limpiar las "respuestas" en su tema anterior ya que agregan ruido a la pregunta. Lea también los comentarios que publiqué en sus "respuestas".

Si tengo un respaldo de JSF bean devolver un objeto de tipo ArrayList, debería ser capaz de usar <c:foreach> para iterar sobre los elementos en la lista. Cada elemento contiene un mapa y aunque la pregunta de cómo acceder al contenido del mapa a través de JSTL se ha respondido here , si paso una matriz de tales mapas, no puedo encontrar cómo iterar sobre ellos y aún acceder al contenido del mapa usando JSTL . Hay documentación que se refiere a iteradores simples pero no a aquellos cuyos ítems son en sí mismos mapas.

Si alguien me puede dar un ejemplo simple de cómo se repite una Lista java en JSP, lo agradecería masivamente. marca


prueba esto

<c:forEach items="${list}" var="map"> <tr> <c:forEach items="${map}" var="entry"> <td>${entry.value}</td> </c:forEach> </tr> </c:forEach>