Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么${!blabla.blibli}在JSTL中返回true,即使blabla没有';不存在?_Java_Jsp_Jstl - Fatal编程技术网

Java 为什么${!blabla.blibli}在JSTL中返回true,即使blabla没有';不存在?

Java 为什么${!blabla.blibli}在JSTL中返回true,即使blabla没有';不存在?,java,jsp,jstl,Java,Jsp,Jstl,正如标题中提到的,我不明白为什么当变量blabla不存在时,我有: ${blabla.blabla}它不返回任何内容 及 ${!blabla.blabla}返回true 我猜jstl求值中有一个隐式异常捕获,但我无法理解内部进程以及为什么它会这样工作,特别是当我们在语言中有:notempty和其他检查器组件时。背后的逻辑是什么?JSPEL是NULL友好的,如果找不到给定的属性或表达式返回NULL,它不会引发任何异常 对于算术运算,EL将null视为0,对于逻辑运算,null视为false 因此,

正如标题中提到的,我不明白为什么当变量blabla不存在时,我有:

${blabla.blabla}
它不返回任何内容

${!blabla.blabla}
返回true


我猜jstl求值中有一个隐式异常捕获,但我无法理解内部进程以及为什么它会这样工作,特别是当我们在语言中有:
notempty
和其他检查器组件时。背后的逻辑是什么?

JSP
EL
NULL
友好的,如果找不到给定的属性或表达式返回
NULL
,它不会引发任何异常

对于算术运算,EL将null视为
0
,对于逻辑运算,
null
视为
false

因此,当您尝试为未找到的变量“!”时,它将返回
true


希望这有帮助

谢谢你的回答,这很有帮助。