为什么可以';我是否使用动态键(jsp、jstl、el)访问HashMap的值?

为什么可以';我是否使用动态键(jsp、jstl、el)访问HashMap的值?,jsp,jstl,el,linkedhashmap,Jsp,Jstl,El,Linkedhashmap,对不起,我知道这似乎与其他问题相似,但我仍然无法找到解决方案 我将LinkedHashMap元数据设置为会话属性。(ExperimentMetadata是一个javabean。)我想从一个特定的bean中获取一个属性,该bean的键是参数metadata_键。但是当我试图直接得到这个,例如 结果是空白的 然而,当我在整个地图上迭代时,它工作得很好 <c:forEach items="${metadata}" var="exp"> <c:if test="${exp.k

对不起,我知道这似乎与其他问题相似,但我仍然无法找到解决方案

我将
LinkedHashMap元数据设置为会话属性。(ExperimentMetadata是一个javabean。)我想从一个特定的bean中获取一个属性,该bean的键是参数metadata_键。但是当我试图直接得到这个,例如

结果是空白的

然而,当我在整个地图上迭代时,它工作得很好

<c:forEach items="${metadata}" var="exp">
    <c:if test="${exp.key eq param.metadata_key}">
        <c:out value="${exp.value.name}" />
    </c:if>
</c:forEach>

我可以这么做,但这有点违背了使用hashmap的目的。如果我这样做,它也会起作用

<c:out value="${metadata[1].name}" />

有人能帮忙提出问题是什么以及如何解决吗?
谢谢

嘿,我刚想出来!我认为,因为metadata_key是一个参数,所以我将它作为一个字符串读取,而不是一个长字符串。强迫它思考数字使它起作用,例如

我感到很自豪