¿Cómo obtener la clave dinámica del mapa mediante la expresión EL?
Especifique la clave entre corchetes y devuelva el valor correspondiente como valor de la expresión. Por ejemplo, la expresión ${Map['key']} devuelve el valor asociado con la clave "key" en el mapa al que hace referencia el identificador del mapa.
Cuando el valor de la expresión en el atributo items de forEach es java.util.Map, el tipo de variable nombrada en var es java.util.Map.Entry. Cuando var=entry, la expresión. se utiliza Utilice la fórmula ${entry.key} para obtener el nombre de la clave. Utilice la expresión ${ valor de entrada } para obtener el valor de cada entrada. Esto se debe a que el objeto java.util.Map.Entry tiene métodos getKey y getValue, y el lenguaje de expresión sigue la convención de nomenclatura JavaBean.
& lt%
Mapa& ltString, String & gtmap 2 = nuevo HashMap();
map2.put("a","hola mundo" )
map2.put("b ", "Este es un mapa");
request.setAttribute("mapa2", mapa 2); % & gt
& ltbr & gt
Recorrido de pares clave-valor
& ltc:forEach var = " item " items = " $ { map 2 } " & gt;
$ { item.key } & gt$ { item.value } & ltbr & gt
& lt/c:forEach & gt;
Recorrido de claves
& ltc:forEach var = " item " items = " $ { map 2 } " & gt; / p>
& lt/c:forEach & gt;
Recorrido de valores
& ltc:forEach var = " item " items = " $ { map 2 } " & gt ;
$ { item.value } & ltbr & gt
& lt/c:forEach & gt;
& ltbody & gt
& ltbr & gt& ltbr & gt
& lt%
List & ltString& gtlist = new ArrayList & ltString& gt();
list . (" primero ");
lista . add(" segundo ");
Lista & lt cadena & gtlist2 = nueva ArrayList & lt cadena & gt ();
lista 2. add(" aaaaaa ");
lista 2. add(" bbbbbb ");
Mapa<String, Lista<String>& gtmap = new HashMap();
map.put("a", lista);
map.put("b",lista 2);
request.setAttribute("mapa", mapa );
% & gt
Obtenga el valor de la lista por clave y recorra la lista
& ltc:forEach var = " item " items = " $ { map[' a ']} " & gt;
$ { item } & ltbr & gt
& lt /c:forEach & gt;& ltbr & gt
& ltc:forEach var = " item " items = " $ { map[' b ']} " & gt;
$ { item } & ltbr & gt
& lt/c:forEach & gt;& ltbr & gt
El valor en el mapa es una lista, y cada elemento de la lista se recorre directamente item
& ltc:forEach var = " item " items = " $ { map } " & gt;
& ltc:forEach items = " $ { item . value } " var = " it " & gt;
$ { it } & ltbr & gt
& lt/c:forEach & gt;
& lt/c: forEach>