正如标题中提到的,我不明白为什么当变量blabla不存在时我有:
${blabla.blabla}
不返回任何内容
和
${!blabla.blabla}
返回true
我想在jstl评估中有一个隐式异常catch但是我无法理解内部进程以及为什么它会像这样工作,特别是当我们使用语言时:not empty
和其他检查器组件。背后的逻辑是什么?
答案 0 :(得分:1)
JSP EL
是NULL
友好的,如果找不到给定属性或表达式返回null
,它不会抛出任何异常。
对于算术运算, EL 将null视为0
,对于逻辑运算,EL将null
视为false
。
所以当你在尝试"!"对于未找到的变量,它返回true
希望这有帮助!