-
스프링 부트 thymeleaf id 뷰에서 컨트롤러로 받아오기Spring Boot 2021. 9. 14. 21:38반응형
@GetMapping("/boardDelete") public String deleteBoard(@RequestParam("id") Long id) { repository.deleteById(id); return "redirect:/board"; }
컨트롤러
<tr th:each="board : ${boards}"> <td th:text="${board.id}"></td> <td th:text="${board.title}"></td> <td th:text="${board.content}"></td> <td th:text="${board.writer}"></td> <td><a th:href="@{/boardDelete(id=${board.id})}">삭제</a></td> </tr>
뷰(일부)
처음에는 뷰의 2번째 줄에 id="id"를 추가하여 컨트롤러의 @RequestParam("id")와 연결시키려 했었다. 하지만 오류 페이지를 보니 인식할 수 없었다.
해결 방법은 하이퍼링크에 ${board.id}를 전달하는 것이다.
thymeleaf는 컨트롤러에서 뷰로 객체를 보낼 때에 주로 사용하고 뷰에서 컨트롤러로 보낼 때에는 스프링에서 제공하는 command 객체를 잘 활용하는 게 더 효율적일 것 같다.
참고
https://www.hanumoka.net/2018/08/05/spring-20180805-spring-controller-thymeleaf-crud/
반응형'Spring Boot' 카테고리의 다른 글
spring boot 배포하기 (0) 2021.11.10 스프링 부트 command 객체 (0) 2021.09.14 스프링 부트 controller 오류 해결 (0) 2021.09.14 스프링 부트 웹 계층 구조 (1) 2021.09.09 스프링 부트 HTTP 동작 테스트 (1) 2021.09.09