"${fn:escapeXml(parameter)!=null}" 始终为真

"${fn:escapeXml(parameter)!=null}" is always true

我正在使用 ${fn:escapeXml}

检查 parameter!=null

但对我来说总是 returns true

e.g <c:set var="isABC" value="${fn:escapeXml(param.isABC)!=null}"/>

去掉exscape函数后,参数为null时returnfalse

e.g <c:set var="isABC" value="${param.isABC!=null}"/>

想知道原因,非常感谢

原因很简单:escapeXml() returns 调用 null 时为空字符串。空字符串不为空。

public static String escapeXml(String input) {
    if (input == null) return "";
    return Util.escapeXml(input);
}