Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Hash Map key check in JSTL

Tags:

java

jsp

jstl

Need help.I have a hash map which is returned from a spring controller to JSP.Is there a way just to check if a certain key exists irrespective of any value(the value may be null too)

Say, the below hash map is being sent from the controller

HashMap hmap = new HashMap();
hmap.put("COUNTRY", "X");
hmap.put("REGION", null);

If the key REGION exists ( value may be anything including null) then display some section in the jsp.

I am trying to access the key as ${hmap['REGION']}

Thanks in advance.

like image 922
Amar Avatar asked Aug 07 '14 08:08

Amar


3 Answers

try using containsKey:

${hmap.containsKey('REGION')}
like image 51
Vipul Paralikar Avatar answered Nov 10 '22 09:11

Vipul Paralikar


<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>

Check this, if this solution works or not ? And post if not working and also post your JSP's jstl code.

like image 44
user3145373 ツ Avatar answered Nov 10 '22 09:11

user3145373 ツ


I know that you want to test for where the value may include null, but there's a solution by using the empty operator that is elegant when one might want to also exclude null values in that it will evaluate to true if the value is null or does not exist.

<c:if test="${not empty hmap['REGION']}">
    <%-- conditional block --%>
</c:if>
like image 3
Brett Ryan Avatar answered Nov 10 '22 07:11

Brett Ryan