EL1007E: Property or field ‘username‘ cannot be found on null

出现如下报错:

2022-04-13 22:14:24.738 ERROR 20160 --- [nio-8081-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "session.loginUser.username" (template: "index" - line 49, col 37)] with root cause


org.springframework.expression.spel.SpelEvaluationException: EL1007E: Property or field 'username' cannot be found on null

这是因为thymeleaf取对象时,要求判断该对象不为空,故在对象前加入“?”再用”.“调用属性 。

错误的格式:

 <li><span>欢迎您,[[${session.loginUser.username}]]</span></li>

正确的格式为:

 <li><span>欢迎您,[[${session.loginUser?.username}]]</span></li>