Tka*_*gen 7 java spring jsp nullpointerexception
我有控制器:
@RequestMapping(method = RequestMethod.GET)
public String getViewRailwayService(@RequestParam long id, Model model) {
model.addAttribute("railwayService",railwayServiceRepository.findOne(id));
return "admin/railwayService/view";
}
Run Code Online (Sandbox Code Playgroud)
和jsp页面:
...
<title>${railwayService.name}</title>
<c:forEach var="company" items="${railwayService.companies}">
...
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我很困惑,当railwayServiceRepository.findOne(id)返回nullNullPointerException不抛出.
不确定表达式语言上的StackOverflow wiki是否值得信赖(我一直试图在官方规范中找到它,但还没有运气),但是:
在访问属性时,EL依赖于JavaBeans规范.在JSP中,使用以下表达式:
${user.name}与"raw"scriptlet代码中的以下内容基本相同(下面的示例是为了简单,实际上反射API用于获取方法并调用它们):
<%
User user = (User) pageContext.findAttribute("user");
if (user != null) {
String name = user.getName();
if (name != null) {
out.print(name);
}
}
%>
Run Code Online (Sandbox Code Playgroud)
(...)请注意,当值为null时,它不会打印"null",也不会抛出
NullPointerException与使用scriptlet时不同的值.换句话说,EL是无效的.
| 归档时间: |
|
| 查看次数: |
313 次 |
| 最近记录: |