我刚刚被介绍给empty
运算符(以及一般的EL),似乎我遗漏了一些非常基本的东西。
据我所知,${empty obj}
如果obj
为空,则返回 true ,或者是空字符串,数组,地图或集合
为什么然后,以下代码:
<html>
<head><title>EL Practice</title></head>
<body>
<% String x = "hello"; %>
<%= x %>
<br>${empty x}
</body>
</html>
产生以下输出?
hello
true
在这种情况下,不是x,非空/空吗?
谢谢, 杰夫
修改 我想我可能已经回答了我自己的问题,虽然我想要一些澄清。 当代码被改变时(见第5行)如下:
<html>
<head><title>EL Practice</title></head>
<body>
<% String x = "hello"; %>
<% pageContext.setAttribute("x", "hello"); %>
<%= x %>
<br>${empty x}
</body>
</html>
输出结果为:
hello
false
${empty obj}
仅适用于将obj设置为属性吗?
答案 0 :(得分:0)
empty
运算符和所有其他JSP表达式语言运算符都可以访问以下JSP隐式对象,
检查here以获取有关他们的更多信息