반응형
[Spring Boot] Thymeleaf를 사용해 PathVariable 넘기는 방법
CRUD에서 Create를 제외하고는 URL에 해당 객체의 id값을 넘겨주어서 구현을 해줄 수 있다. Spring Boot에서는 Controller에서 @PathVariable 어노테이션을 사용하여 URL의 인자값을 전달받을 수 있는데 그렇다면 Thymeleaf에서는 어떠한 방법으로 id값을 넘겨주어야 되는지에 대하여 알아보겠다.
Controller에서 delete를 처리하는 메서드
@GetMapping("todoDelete/{id}") public String delete(@PathVariable Long id) { todoService.delTodo(id); return "redirect:/"; }
URL에서 id값을 받아 해당 todo post를 지우는 간단한 코드입니다.
todo를 보여주는 Html
<tbody> <tr th:each="todo : ${todos}"> <td th:text="${todo.id}"></td> <td th:text="${todo.title}"></td> <td th:text="${todo.subtitle}"></td> <td><a th:href="@{/todoDelete/{id}(id = ${todo.id})}"><button>완료</button></a></td> </tr> </tbody>
위의 코드는 thymeleaf의
th:each
를 사용하여 모든 todo를 띄워주고 있는 코드입니다. 각각의 id, title, subtitle를 보여주고 그 마지막으로th:href="@{/todoDelete/{id}(id = ${todo.id})}"
의 태그를 사용하여 완료 (즉, todo를 삭제하는 버튼)을 만들어주었습니다. 무심코href="/todoDelete/${todo.id}"
로 써보았지만 안되어서 위와같은 방법을 찾아냈습니다.
반응형
'Web > Spring' 카테고리의 다른 글
[Web] Servlet에 대하여 (0) | 2020.08.08 |
---|---|
[Spring Boot] 로그인 실패 핸들링 - Spring Security (0) | 2020.05.11 |
[Spring Boot] 간단한 로그인 기능 구현 - Spring Security (2) | 2020.05.03 |
[Spring MVC] @ControllerAdvice로 전역 컨트롤러 만들기 (0) | 2020.02.05 |
[Spring MVC] @ExceptionHandler 사용하기 (0) | 2020.02.04 |