Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.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 JSTL中的哈希映射密钥检查_Java_Jsp_Jstl - Fatal编程技术网

Java JSTL中的哈希映射密钥检查

Java JSTL中的哈希映射密钥检查,java,jsp,jstl,Java,Jsp,Jstl,需要帮助。我有一个从spring控制器返回到JSP的哈希映射。是否有一种方法可以检查某个键是否存在,而不考虑任何值(该值也可能为null) 例如,下面的哈希映射是从控制器发送的 HashMap hmap = new HashMap(); hmap.put("COUNTRY", "X"); hmap.put("REGION", null); 如果键区域存在(值可以是包括null在内的任何值),则在jsp中显示某个部分 我正试图以${hmap['REGION']}的身份访问密钥 提前感谢。 <

需要帮助。我有一个从spring控制器返回到JSP的哈希映射。是否有一种方法可以检查某个键是否存在,而不考虑任何值(该值也可能为null)

例如,下面的哈希映射是从控制器发送的

HashMap hmap = new HashMap();
hmap.put("COUNTRY", "X");
hmap.put("REGION", null);
如果键区域存在(值可以是包括null在内的任何值),则在jsp中显示某个部分

我正试图以${hmap['REGION']}的身份访问密钥

提前感谢。


<c:forEach var="entry" items="${hmap }" varStatus="status">        
      <c:if test="${entry.key == 'REGION'}">
        <tr>
           <td>${entry.key}</td>
           <td>${entry.value}</td>
        </tr>
      </c:if>
</c:forEach>
${entry.key} ${entry.value}
检查此项,如果此解决方案有效或无效? 如果不起作用,也可以发布JSP的jstl代码。

尝试使用containsKey:

${hmap.containsKey('REGION')}

我知道您想测试值可能包含null的位置,但是有一个解决方案,使用
empty
运算符,当您可能还想排除null值时,它会非常优雅,因为如果值为null或不存在,它将计算为
true

<c:if test="${not empty hmap['REGION']}">
    <%-- conditional block --%>
</c:if>


谢谢,我正在尝试访问密钥,因为${hmap['REGION']}
${hmap['REGION']}
应该可以使用。你是如何发送HashMap的,检查JSP上是否接收到HashMap?你到底为什么要使用循环?@EJP-我认为OP将迭代HashMap,如果条件匹配,它将显示数据,否则不会。这有什么奇怪的?在地球上还没有人在jstl中使用过循环吗?@user3145373ツ : 我在JSP中有映射的数据。我正在寻找一个检查,试图确定键是否存在。@Amz-为了调用映射的containsKey()或containsValue()方法,那么您需要确保运行的是与Servlet 3.0兼容的容器,如Tomcat 7、Glassfish 3、JBoss AS 6、,声明web.xml符合Servlet 3.0。通过这种方式,您可以利用新的EL 2.2特性:使用参数调用非getter方法taglib@EdgeCaseBerg嗯??法新社:康纳斯基?从未听说过这个JSTL函数!