Access map-Wert in EL unter Verwendung einer Variablen als Schlüssel
Ich habe eine Map
im EL als ${map}
und ich werde versuchen, den Wert über einen Schlüssel, welcher selbst auch ein EL-variable ${key}
mit dem Wert "1000"
.
Mit ${map["1000"]}
funktioniert, aber ${map["$key"]}
funktioniert nicht. Was mache ich falsch und wie bekomme ich die Map
Wert über eine variable als Schlüssel?
InformationsquelleAutor der Frage user1643001 | 2012-09-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
$
ist nicht der Beginn eines Variablen-Namen, es gibt den Anfang eines Ausdrucks. Sollten Sie verwenden${map[key]}
auf die Eigenschaftkey
in der Kartemap
.Können Sie versuchen, es auf einer Seite mit einer
GET
parameter, verwenden Sie die folgende Abfrage-string, zum Beispiel?whatEver=something
Dieser Ausgabe:
Finden Sie unter: https://stackoverflow.com/tags/el/info und navigieren Sie zu dem Abschnitt "Klammer-notation".
InformationsquelleAutor der Antwort Jasper de Vries
Habe ich angesichts dieses Problem vor. Dies geschieht normalerweise, wenn der Schlüssel nicht einen String. Der fix ist, werfe den Schlüssel in einen String, bevor Sie mit der-Taste, um einen Wert aus der Karte
Etwas wie dieses:
<c:set var="keyString">${someKeyThatIsNotString}</c:set>
<c:out value="${map[keyString]}"/>
Hoffe, das hilft
InformationsquelleAutor der Antwort allkenang
Können Sie den Schlüssel-Wert in einer Karte auf
Java
Seite und greifen auf die gleichen mitJSTL
aufJSP
Seite wie folgt:Vor java 1.7:
Java 1.7 und höher:
JSP-Schnipsel:
InformationsquelleAutor der Antwort Arpit
Ich denke, man sollte Zugriff auf Ihre Karte so etwas wie:
und überprüfen Sie einige tutorials über jstl wie Eins und Zwei (ein bisschen veraltet, aber noch funktionsfähig)
InformationsquelleAutor der Antwort Nickmancol