私はMap
EL asを持っており${map}
、それ自体が value を持つ EL 変数${key}
でもあるキーを使用して、その値を取得しようとしています"1000"
。
使用しても機能します${map["1000"]}
が、${map["$key"]}
機能しません。Map
変数をキーとして使用して値を取得するにはどうすればよいですか?
$
は変数名の始まりではなく、式の始まりを示します。map${map[key]}
のプロパティにアクセスするには、を使用する必要があります。key
map
GET
たとえば、次のクエリ文字列を使用して、パラメーターを使用してページで試すことができます?whatEver=something
<c:set var="myParam" value="whatEver"/>
whatEver: <c:out value="${param[myParam]}"/>
これは出力されます:
whatEver: something
https://stackoverflow.com/tags/el/infoを参照し、「ブレース表記」セクションまでスクロールします。
私は以前にこの問題に直面したことがあります。これは通常、キーが文字列ではない場合に発生します。修正は、キーを使用してマップから値を取得する前に、キーを文字列にキャストすることです
このようなもの:
<c:set var="keyString">${someKeyThatIsNotString}</c:set>
<c:out value="${map[keyString]}"/>
それが役立つことを願っています
Key-Value を横のマップに配置し、以下のように on page をJava
使用して同じものにアクセスできます。JSTL
JSP
以前の 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']}"/>