一尘不染

根据JSTL的密钥从哈希图中获取价值

jsp

我想获得HashMap基于键的值。

HashMap<String, ArrayList<String>> map 
    = new HashMap<String, ArrayList<String>>();
ArrayList<String> arrayList = new ArrayList<String>();

map.put("key", arrayList);
request.setAttribute("key", map);

我所做的是

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

但似乎它的印刷的一切,我想要做的是让价值取决于像键:hash.key什么

更新:
我做了这样的事情,但仍然无法正常工作

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

和StackTrace:Property 'External' not found on type java.util.HashMap$Entry
我很确定确实有这种密钥。


阅读 210

收藏
2020-06-08

共1个答案

一尘不染

如果您要做的只是获取映射中单个条目的值,则根本不需要遍历任何集合。稍微简化gautum的响应,您可以获取命名映射条目的值,如下所示:

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

其中“地图”是集合,“键”是您要为其提取值的字符串键。

2020-06-08