如何在 JSTL 中将此映射值设置为 null?
How do I set this map value to null in JSTL?
在 JSTL 中,我将 HashMap 作为页面变量。 HashMap 将字符串映射到更复杂的对象。我想将一个值设置为 null。所以我正在尝试
value: ${myMap[myId]}
<c:set target="myMap" property="${myId}" value="${null}" />
我已经验证 "value:" 语句确实打印了一些东西,但是,我收到以下 JSTL 错误
javax.servlet.jsp.JspTagException: Invalid property in <set>: "51b21a0410340adf6501db08"
关于如何将地图中的特定条目设置为 null 的任何想法?
你可以这样做:
value: ${myMap[myId]}
<c:set target="myMap" property="${myId}" value="" />
然后在后面的代码中你可以测试它是否为空:
<c:if test="${myMap[myId] is empty}">
并避免尝试在 JSTL 中处理 "null"。
(可能)更好的选择是将其从地图中完全删除:
<c:set var="debug" value="${myMap.remove(myId)}"/>
那么你的空支票仍然有效,你不必在你的 hashmap 中处理空条目。
在 JSTL 中,我将 HashMap 作为页面变量。 HashMap 将字符串映射到更复杂的对象。我想将一个值设置为 null。所以我正在尝试
value: ${myMap[myId]}
<c:set target="myMap" property="${myId}" value="${null}" />
我已经验证 "value:" 语句确实打印了一些东西,但是,我收到以下 JSTL 错误
javax.servlet.jsp.JspTagException: Invalid property in <set>: "51b21a0410340adf6501db08"
关于如何将地图中的特定条目设置为 null 的任何想法?
你可以这样做:
value: ${myMap[myId]}
<c:set target="myMap" property="${myId}" value="" />
然后在后面的代码中你可以测试它是否为空:
<c:if test="${myMap[myId] is empty}">
并避免尝试在 JSTL 中处理 "null"。
(可能)更好的选择是将其从地图中完全删除:
<c:set var="debug" value="${myMap.remove(myId)}"/>
那么你的空支票仍然有效,你不必在你的 hashmap 中处理空条目。