Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将贴图键与某些元素进行比较,并根据结果显示其值_Java_Jsp_Map_Key - Fatal编程技术网

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

Java 将贴图键与某些元素进行比较,并根据结果显示其值,java,jsp,map,key,Java,Jsp,Map,Key,我需要根据一个条件从jsp中的map类型的映射中检索值。条件是将映射键与变量进行比较,如果键等于变量,则显示与该键相关的值。以下是我正在做的: <c:if test="${ myMap.key eq myVariable }"> <jsp:getvalueof var="testVariable" value = "${ myMap.value }" /> </c:if> 我希望得到的是,如果myMap.key等于myVariable,那么我应该在“te

我需要根据一个条件从jsp中的
map
类型的映射中检索值。条件是将映射键与变量进行比较,如果键等于变量,则显示与该键相关的值。以下是我正在做的:

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

我希望得到的是,如果myMap.key等于myVariable,那么我应该在“test”变量中获得与该键相关的值

但这东西不起作用。有人知道吗

提前感谢:)

//在jsp中这样使用
//在js上,请这样使用
var检验='';

您可以直接访问映射并将值输入“test”变量:

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

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

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


可能与否重复我在发帖前查看过,但无法找到解决方案。谢谢。是的,我知道,但我需要根据键上的条件设置“test”变量中的值。因此,获取键并将其与某个变量进行比较是一个问题。请澄清一点,您所说的比较不是简单的“等于”,对吗?因为如果是的话,映射访问器就是这么做的。功能要求是我需要根据键是否等于变量从映射中获取值。例如:假设我的键是“US”、“UK”和“India”,因此我想将这些键与一个名为“Country”的变量进行比较,如果匹配,则需要显示地图的值,这是该国家网站的URL。如果我理解正确,这应该仍然有效。您有一个“Country”变量,带有一些值(假设您以前在某个地方使用过“”),在这种情况下,“${myMap[Country]}”访问器将向“myMap”请求一个值为“UK”的键,如果有,则返回它。如果您只想直接将其写在jsp上,那么您甚至不需要赋值,您可以直接执行${myMap[Country]}(或者如果您想转义实体,可以使用c:out),非常感谢!!这是如此简单,我忽略了这件事,并尝试了所有其他的选择。我想这应该是可行的,但我们不能不使用scriptlet吗?谢谢你的解决方案。但我想弗朗西斯科的建议是解决这个问题的最简单和最好的办法。
<c:set var="testVariable" value='${ myMap.key eq myVariable ? myMap[myVariable] : "defaultValue" }'/>