Thymeleaf th:如果出现null错误

时间:2016-09-14 16:14:51

标签: java spring-boot thymeleaf

我尝试使用Spring Boot中的一些数据填充百万美元模板。 我想要做的就是这个

<tr th:if="${group.organization}">
    <td class="col_title"><b>Organization:</b></td>
    <td class="organization-field-content" th:text="${group.organization}"></td>
</tr>

我已尝试过这里提出的解决方案: Thymeleaf: show text if the attribute and property exists 并且,遵循百里香的呈现顺序,因为group.organization为空,所以不应显示整个内td

仍有问题,因为Thymeleaf抱怨说

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: "group.organization" (group)] with root cause
java.lang.NullPointerException: null

我不明白为什么会这样,因为组对象存在,只是组织为空

3 个答案:

答案 0 :(得分:0)

您可以通过将其转储到类似<span th:utext="${group}" />

的范围内来确认您的组对象是否真的不为空

答案 1 :(得分:0)

在显示div之前,可能请尝试以下方法检查组和组织是否为空。

<tr th:if="${group != null && group.organization != null}">
    <td class="col_title"><b>Organization:</b></td>
    <td class="organization-field-content" th:text="${group.organization}"></td>
</tr>

答案 2 :(得分:0)

感谢所有回复,原来问题出在了其他地方。

所有提议的解决方案仍然提出相同的问题,这是因为Group Spring-data Model中的方法。 实际上,空指针异常来自n^2方法,该方法没有正确地序列化getOrganization值。

也许这可以在将来帮助其他人