与请求对象关联的空对象调用方法时,JSTL中没有NullPointerException。为什么?

8
昨天我参加了一次面试。面试官给我展示了这段代码,并问道:
<c:when test='${hobby.equals("hobby1")}'>

为什么没有空指针,而hobby的值是null?

代码如下-

在Servlet类中-

request.setAttribute("hobby", null);
request.getRequestDispatcher("display.jsp").forward(request, response);

display.jsp页面中-
<c:when test='${hobby.equals("hobby1")}'>

1
JSTL和EL用于呈现视图,因此异常和空变量会被处理为空白空间。 - Jafar Ali
1个回答

11

JSTL几乎总是禁止空指针异常。这里有一个简短的讨论(链接),更详细的信息可以在JSTL规范的第3.6节中找到


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接