타임리프(Thymeleaf)
는 자바 라이브러리이며, 웹과 환경 양쪽에서 TEXT
, HTML
, XML
, Javascript
, CSS
를 생성할 수 있는 템플릿 엔진이다.
스프링 MVC와의 통합 모듈을 제공하며, 애플리케이션에서 JSP로 만든 기능들을 완전히 대체할 수 있다.
즉, 타임리프(Thymeleaf)
는 View Templete Engine으로 JSP
, Freemarker
와 같이 서버에서 클라이언트에게 응답할 브라우저 화면을 만들어주는 역할을 한다.
타임리프(Thymeleaf)
의 주요목표는 세련되고 잘 다듬어진 템플릿을 제공하는 것이다. 이는 유지관리 및 확장이 쉽도록 하는 것을 말한다.
↳ Natural Templates : 기존 HTML 코드와 구조를 변경하지 않고 덧붙이는 방식이다.
↳ Standard + SpringStandard를 통한 템플릿 생성, dialect를 통한 타임리프 확장.
↳ Spring Boot에서는 JSP 설정과 관련하여 자동 설정을 지원하지 않는다.
그에 반해 타임리프는 Dependency만 추가하면 자동으로 설정되어 간편하게 사용할 수 있다.
✍ gradle
↳ build.gradle
파일에 아래의 내용을 추가한다.
↳ org.springframework.boot:spring-boot-starter-thymeleaf
// 코드중략
dependencies {
// 코드중략
compile "org.springframework.boot:spring-boot-starter-thymeleaf"
// 코드중략
}
// 코드중략
✍ Maven
↳ pom.xml
파일에 아래의 내용을 추가한다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
✍ src/main/resources/tempalte
하위에 기능에 따라 directory 구성
✍ 정적인 자원은 src/main/resources/static
에 구성
✍ 공통으로 사용되는 template fragment들은 layout
, commons
혹은 fragments
를 만들어서 구성
xmlns:th="http://www.thymeleaf.org"
를 HTML
에 추가한다.
<!DOCTYPE html>
<!-- namespace 추가 -->
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
</html>