Я новичок в Springboot, поэтому решил поработать над корзиной покупок.Кажется, не удается найти корень org.springframework.expression.spel.SpelEvaluationException: EL1007E: Свойство или поле 'name' не может быть найдено в null.вложенным исключением является org.thymeleaf.exceptions.TemplateProcessingException: исключение, оценивающее выражение SpringEL: "# request.userPrincipal.name" (template: "/ _header" - строка 11, столбец 48)] с основной причиной
я ужепопытался проверить, является ли рассматриваемый объект нулевым
if (userDetails != null){
model.addAttribute("userDetails", userDetails);
}
Пользовательский класс является абстрактным путем использования «import org.springframework.security.core.userdetails.UserDetails;»
конкретный код HTML:
<div class="header-bar">
<th:block sec:authorize="isAuthenticated()">
Hello
<a th:href="@{/admin/accountInfo}"
th:utext="${#request.userPrincipal.name}">..</a>
|
<a th:href="@{/admin/logout}">Logout</a>
</th:block>
<th:block sec:authorize="!isAuthenticated()">
<a th:href="@{/admin/login}">Login</a>
</th:block>
</div>
И код моего контроллера:
@RequestMapping(value = { "/admin/accountInfo" }, method = RequestMethod.GET)
public String accountInfo(Model model) {
UserDetails userDetails = (UserDetails)
SecurityContextHolder.getContext().getAuthentication().getPrincipal();
System.out.println(userDetails.getPassword());
System.out.println(userDetails.getUsername());
System.out.println(userDetails.isEnabled());
model.addAttribute("userDetails", userDetails);
return "accountInfo";
}