org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/itemView.html]")

myeonji·2022년 1월 30일
0

Error

목록 보기
5/8

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() 로 해줘야한다.

0개의 댓글