哈希映射键检查JSTL

Amz*_*Amz 5 java jsp jstl

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

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

HashMap hmap = new HashMap();
hmap.put("COUNTRY", "X");
hmap.put("REGION", null);
Run Code Online (Sandbox Code Playgroud)

如果键REGION存在(值可能是包括null的任何内容),则在jsp中显示一些部分.

我试图访问密钥为$ {hmap ['REGION']}

提前致谢.

Vip*_*kar 10

尝试使用containsKey:

${hmap.containsKey('REGION')}
Run Code Online (Sandbox Code Playgroud)

  • @Amz - 为了调用map的containsKey()或containsValue()方法,你需要确保你正在运行一个Servlet 3.0兼容容器,如Tomcat 7,Glassfish 3,JBoss AS 6等,以及你的web.声明xml符合Servlet 3.0.这样您就可以使用新的EL 2.2功能:使用参数调用非getter方法. (2认同)

use*_*3 ツ 4

<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>
Run Code Online (Sandbox Code Playgroud)

检查一下这个解决方案是否有效?如果不起作用,请发布并发布您的 JSP 的 jstl 代码。

  • 你到底为什么要使用循环? (2认同)