thymeleaf
-
스프링 부트 command 객체Spring Boot 2021. 9. 14. 22:04
제목 내용 작성자 이전에는 thymeleaf를 통해 뷰에서 컨트롤러로 객체를 전달하려 했다. 그런데 이렇게 하려면 boardRegister() GET 메소드의 매개변수로 BoardDto가 있어야 했다. 왜냐하면 객체가 전달되어 있어야 th:object="${boardDto}"를 수행할 수 있기 때문이다. 그래서 GET 메소드와 POST 메소드 둘 다에 매개변수가 있어야 했는데 이해하기 어려웠고 로직이 맞지 않는 것 같았다. 왜냐하면 뷰에서 컨트롤러로 전달할 때에는 Command 객체를 사용하고, 컨트롤러에서 뷰로 전달할 때에는 Model을 사용하는 걸로 알고 있었기 때문이다. 그러나 책을 천천히 읽으면서 이해할 수 있었다. 제목 내용 작성자 Command 객체는 각 엘리먼트의 name과 똑같은 set##..
-
스프링 부트 thymeleaf id 뷰에서 컨트롤러로 받아오기Spring Boot 2021. 9. 14. 21:38
@GetMapping("/boardDelete") public String deleteBoard(@RequestParam("id") Long id) { repository.deleteById(id); return "redirect:/board"; } 컨트롤러 삭제 뷰(일부) 처음에는 뷰의 2번째 줄에 id="id"를 추가하여 컨트롤러의 @RequestParam("id")와 연결시키려 했었다. 하지만 오류 페이지를 보니 인식할 수 없었다. 해결 방법은 하이퍼링크에 ${board.id}를 전달하는 것이다. thymeleaf는 컨트롤러에서 뷰로 객체를 보낼 때에 주로 사용하고 뷰에서 컨트롤러로 보낼 때에는 스프링에서 제공하는 command 객체를 잘 활용하는 게 더 효율적일 것 같다. 참고 https://ww..