将地图键与某个元素进行比较,并根据结果显示其值

时间:2013-02-20 12:31:54

标签: java jsp map key

我需要根据条件从jsp中的Map <String, String>类型的地图中检索值。条件是将map键与变量进行比较,如果键等于变量,则显示与该键有关的值。这就是我在做的事情:

<c:if test="${ myMap.key eq myVariable }">
<jsp:getvalueof var="testVariable" value = "${ myMap.value }" />
</c:if>

我期望得到的是,如果myMap.key等于myVariable,我应该在“test”变量中得到与该键有关的值。

但是这件事没有用。请问任何人?

提前致谢:)

3 个答案:

答案 0 :(得分:3)

您可以直接访问地图并将值输入'test'变量:

<c:set var="test" value="${myMap[myVariable]}"/>

答案 1 :(得分:0)

//use like this in jsp
<%
String val;
for(String key : myMap.keyset()){
    if(key.equals(myVariable )){
        val = myMap.get(key);
    }
}
%>
//on js use like this
var test = '<%=val%>';

答案 2 :(得分:0)

由于您希望根据条件从地图中检索值,因此您可以使用三元运算符。试试这个:

<c:set var="testVariable" value='${ myMap.key eq myVariable ? myMap[myVariable] : "defaultValue" }'/>