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
Jsp EL和<;c:out>;为null属性打印空字符串,但从servlet调度请求时引发异常_Jsp_Jstl_El - Fatal编程技术网

Jsp EL和<;c:out>;为null属性打印空字符串,但从servlet调度请求时引发异常

Jsp EL和<;c:out>;为null属性打印空字符串,但从servlet调度请求时引发异常,jsp,jstl,el,Jsp,Jstl,El,我的调度程序servlet是: SampleModel model = new SampleModel(); model.setModelName("someName"); request.setAttribute("model", model); request.getRequestDispatcher("nulltester.jsp").forward(request, response); 这里SampleModel类只有一个名为modelName的属性。转发请求的JSP代码段:

我的调度程序servlet是:

 SampleModel model = new SampleModel();
 model.setModelName("someName");
 request.setAttribute("model", model);
 request.getRequestDispatcher("nulltester.jsp").forward(request, response);
这里
SampleModel
类只有一个名为
modelName
的属性。转发请求的JSP代码段:

The undefined bar property is : ${model.bar} , <c:out value="${model.bar}">
未定义的bar属性是:${model.bar},

如果我们点击servlet,然后servlet将请求分派给jsp,则此代码会引发异常。但是,如果我们直接点击JSP,那么我们将毫无例外地得到o/p!有人能解释一下为什么会发生这种情况吗?

如果根本没有模型属性,EL将对
${model}
求值为null,并停止对
${model.bar}
求值,返回空字符串

如果存在模型,它将对对象求值
${model}
,并尝试通过调用
model.getBar()
来求值
${model.bar}
,但找不到任何此类getter,这将导致异常