I am facing some problem in using EL in JSTL and not able to access Java Hash Map as I would like. I am aware that in EL the key, if Integer gets accessed as Long. I have following hash map definition that I am trying to access in JSTL -
Map<Long, Object> testMap = new HashMap<Long, Object>();
In JSP page, I need to check if the map contains a specific key or not. I attempt to do that by checking if not empty as following -
<c:if test='${ ! empty testMap[currObj.currVal]}'>
I also access the map's value for a key somewhere in the code like below -
<c:if test='${ testMapMap[5].data == 'something'}'>
Now the problem -
If i define my map above as <Integer, Object>
then the first c:if works but second fails (as the second tries to access it as Long). However, if I define my map above as <Long, Object>
the first if check always fails as it always recognizes it as empty but the second if statement where I check for the value works.
Is there any good way to make sure I access HashMap for both the if statements correctly? I will appreciate opinions.