我需要根据条件从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”变量中得到与该键有关的值。
但是这件事没有用。请问任何人?
提前致谢:)
答案 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" }'/>