org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/itemView.html]") Caused by: org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "user.getCart().getCount()"
html의 getCount()에 null이 불러지는 것 같다.
DB를 보니까 count = 0 으로 잘 들어가있는데..
// 상품 상세 페이지 - 판매자, 구매자 가능
@GetMapping("/item/view/{id}")
public String ItemView(Model model, @PathVariable("id") Integer id, @AuthenticationPrincipal PrincipalDetails principalDetails) {
if(principalDetails.getUser().getRole().equals("ROLE_SELLER")) {
// 판매자
User user = userPageService.findUser(id);
model.addAttribute("item", itemService.itemView(id));
model.addAttribute("user", user);
return "itemView";
} else {
// 구매자
User user = userPageService.findUser(id);
model.addAttribute("item", itemService.itemView(id));
model.addAttribute("user", user);
return "itemView";
}
}
User user = userPageService.findUser(id); 가 문제였다!! 매개변수로 받은 id는 유저의 id가 아니라 상품의 id였다.
로그인 한 유저를 받기 위해서는 User user = principalDetails.getUser() 로 해줘야한다.