Map
はELに${map}
と表示されていますが、それ自体のEL変数${key}
の値を"1000"
とするキーを使用してその値を取得しようとしています。変数をキーとしてアクセスするELのマップ値にアクセス
${map["1000"]}
を使用していますが、${map["$key"]}
は機能しません。何が間違っているのですか?変数をキーとしてMap
の値を取得するにはどうすればよいですか?私はあなたのような地図の何かにアクセスする必要があることだと思う
Map
はELに${map}
と表示されていますが、それ自体のEL変数${key}
の値を"1000"
とするキーを使用してその値を取得しようとしています。変数をキーとしてアクセスするELのマップ値にアクセス
${map["1000"]}
を使用していますが、${map["$key"]}
は機能しません。何が間違っているのですか?変数をキーとしてMap
の値を取得するにはどうすればよいですか?私はあなたのような地図の何かにアクセスする必要があることだと思う
私は$ {map。$ key}を試しましたが、うまくいきませんでした。 – user1643001
$ {map.key}ではない、ちょうど$ {map.key} – Nickmancol
$
ではありません変数名の先頭には、式の開始を示します。地図map
のkey
にアクセスするには、${map[key]}
を使用してください。
あなたは?whatEver=something
<c:set var="myParam" value="whatEver"/>
whatEver: <c:out value="${param[myParam]}"/>
これが出力されます例えば、次のクエリ文字列を使用して、GET
パラメータを指定してページ上でそれを試すことができます。
whatEver: something
参照:https://stackoverflow.com/tags/el/infoをし、セクションまでスクロールし"括弧記法"。あなたはJava
側のマップ内のキーと値を入れて、以下のようにJSP
ページにJSTL
を使用して同じにアクセスすることができ
解決策はうまくいかない: -/ –
他の何かが間違っています。私は私の投稿の例をテストして、動作していることを確認しました(そして、 '$ {map.key}'は機能していませんでした)。 –
:
前のJava 1.7:
Map<String, String> map = new HashMap<String, String>();
map.put("key","value");
のJava 1.7と上:
Map<String, String> map = new HashMap<>();
map.put("key","value");
JSPスニペット:
<c:out value="${map['key']}"/>
私は前にこの問題に直面しています。これは通常、キーが文字列でない場合に発生します。
<c:set var="keyString">${someKeyThatIsNotString}</c:set>
<c:out value="${map[keyString]}"/>
希望
$を支援します。修正がマップから値を取得するためにキーを使用する前に、このような
何かを文字列にキーをキャストすることですは変数名の先頭ではなく、式の開始を示します。 –