在JSTL中,我将HashMap作为页面变量。 HashMap将字符串映射到更复杂的对象。我想将值设置为null。所以我正在尝试
value: ${myMap[myId]}
<c:set target="myMap" property="${myId}" value="${null}" />
我已经验证了&#34;值:&#34;语句确实打印出来,但是,我收到以下JSTL错误
javax.servlet.jsp.JspTagException: Invalid property in <set>: "51b21a0410340adf6501db08"
如何将地图中的特定条目设置为null?
答案 0 :(得分:0)
你可以这样做:
value: ${myMap[myId]}
<c:set target="myMap" property="${myId}" value="" />
然后在以后的代码中,您可以测试它是否为空:
<c:if test="${myMap[myId] is empty}">
并避免尝试处理&#34; null&#34;在JSTL。
(可能)更好的选择是将其从地图中完全删除:
<c:set var="debug" value="${myMap.remove(myId)}"/>
然后您的空检查仍然有效,您不必在散列图中包含空条目。