프로젝트 진행중 가장 복잡하고 어려운 부분이라고 느낀 부분은 컨트롤러와 뷰의 연결 부분이다. 그래서 이 부분에 대해 다시 한번 정리하려고 한다.
Thymeleaf(타임리프)
타임리프는 컨트롤러가 전달받은 데이터를 이용해 동적으로 화면을 만들어주는 역할을 하는 뷰 템플릿 엔진이다.
타임리프는 HTML 문서에서 html 요소에 다음과 같이 작성하면된다.
<html xmlns:th="http://www.thymeleaf.org">
타임리프의 특징
spring:
thymeleaf:
prefix: classpath:templates/
mode: HTML
cache: false
컨트롤러와 타임리프 연결
컨트롤러에서 다음과같이 설정하게 된다면
/templates/home/home.html 이 된다.
public class HomeController {
@GetMapping("/home")
public String home() {
return "home/home";
}
}
이렇게 실행된후 톰캣을 실행해 /home 이라는 url로 접근하면 home.html 이 웹페이지에 출력된다.
기본 기능
<a th:text="${todolist.content}" th:href="@{/read(id=${todolist.todo_id})}"></a>
th:text=${}
th:href=@{}
<input type="text" th:value="${user.name}" />
th:value=${}