逻辑运算符在EL中"not"是什么意思



给定以下代码:

<%
java.util.Map map = new java.util.HashMap();
request.setAttribute("map", map);
map.put("a", "true");
map.put("b", "false");
map.put("c", "42"); 
%>
${not map.c}

${not map.c}的输出是真实的。...此表达式是什么样的操作?为什么它的结果是真的?

规范说:

一单元非操作员 - {!,not} a

  • 迫使a以布尔值,申请操作员

强迫布尔人

  • 如果a为null或;&quot;
  • 否则,如果a是布尔人,请返回
  • 否则,如果a是字符串,而boolean.valueof(a)不会抛出异常,请返回
  • 否则,错误

map.c是字符串"42"Boolean.valueOf("42")falsenot运算符应用于false返回true

相关内容

最新更新