java - index - Utilice<c: forEach> con HashMap
jstl foreach list (2)
Funciona, tendrá type.key
y type.value
para jugar en el bucle.
Esta pregunta ya tiene una respuesta aquí:
- ¿Cómo recorrer un HashMap en JSP? 2 respuestas
Tengo una clase Java que establece un atributo de servlet para un objeto HashMap:
request.setAttribute("types", da.getSecurityTypes());
donde request
es un objeto HttpServletRequest y da.getSecurityTypes()
devuelve un objeto HashMap.
¿Hay alguna manera de ir a través de la colección HashMap usando c: foreach o algunas otras etiquetas JSTL?
Yo estaba pensando:
<c:forEach var="type" items="${types}">
...
</c:forEach>
O si no se puede hacer, ¿cómo se puede crear una etiqueta personalizada para procesar esto?
Recurrir al código de Java en mi página JSP es mi último recurso y me gustaría saber si esto es posible con JSTL.
Gracias, Jonas.
Sí, esto es perfectamente aceptable.
Cuando usa <c:forEach>
para iterar sobre un Map
, cada elemento en la iteración es una instancia de Map.Entry
. Entonces, dado tu ejemplo:
<c:forEach var="type" items="${types}">
Key is ${type.key}
Value is ${type.value}
</c:forEach>