java jsp hashmap jstl

java - Obtener valor de hashmap basado en la clave de JSTL



jsp (3)

Quiero obtener el valor de HashMap basado en la clave.

HashMap<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>(); ArrayList<String> arrayList = new ArrayList<String>(); map.put("key", arrayList); request.setAttribute("key", map);

Lo que hice es

<c:forEach var="map" items="${requestScope.key}"> <c:forEach var="hash" items="${map.value}"> <option><c:out value="${hash}"/></option> </c:forEach> </c:forEach>

Pero parece que está imprimiendo todo, lo que quiero hacer es obtener el valor depende de la clave como: hash.key o algo

ACTUALIZAR:
Hice algo como esto, pero todavía no funciona

<c:forEach var="map" items="${requestScope.key}"> <c:forEach var="hash" items="${map[''key'']}"> <option><c:out value="${hash}"/></option> </c:forEach> </c:forEach>

y StackTrace: Property ''External'' not found on type java.util.HashMap$Entry
Estoy bastante seguro de que realmente existe ese tipo de llave.


¿podrías probar el código siguiente?

<c:forEach var="hash" items="${map[''key'']}"> <option><c:out value="${hash}"/></option> </c:forEach>


Tuve un problema con las soluciones mencionadas anteriormente ya que al especificar la clave de cadena me daría javax.el.PropertyNotFoundException. El código que se muestra abajo funcionó para mí. En esto, utilicé el estado para contar el índice de cada ciclo y se muestra el valor del índice que me interesa

<c:forEach items="${requestScope.key}" var="map" varStatus="status" > <c:if test="${status.index eq 1}"> <option><c:out value=${map.value}/></option> </c:if> </c:forEach>


si todo lo que intenta hacer es obtener el valor de una sola entrada en un mapa, no es necesario pasar por encima de ninguna colección. Simplificando ligeramente la respuesta de gautum, puede obtener el valor de una entrada de mapa con nombre de la siguiente manera:

<c:out value="${map[''key'']}"/>

donde ''mapa'' es la colección y ''clave'' es la clave de cadena para la cual está tratando de extraer el valor.