如果User
使用百日咳,我正试图迭代一个列表,
我的User
对象就像这样
public class User implements java.io.Serializable {
private Integer userId;
private Department department;
private String email;
// setters and getters etc
}
和部门对象就是这样
public class Department implements java.io.Serializable {
private Integer departmentId;
private String name;
// setters and getters etc
}
在百里香中我这样做
<tr th:each="user : ${users}">
<td th:text="${user.email}"></td>
<td th:text="${user.department.name}"></td>
</tr>
我收到此错误
org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "user.department.name"
如果我只使用user.email
,则没有问题。
那么如何访问Thymeleaf EL中的内部对象? (在我的情况下user.department.name
)
答案 0 :(得分:3)
您正在正确访问它,但如果用户的部门为空,您将收到异常。
您可以使用'?'来使用null安全解除引用运营商,即
<td th:text="${user.department?.name}"></td>
这将首先检查department是否为null。参见Spring EL的Safe Navigation Operator