📌 타임리프(Thymeleaf) 개요
출처: [Thymeleaf] 타임리프 (velog.io)
📖 정의
✍ 타임리프(Thymeleaf) 소개
타임리프(Thymeleaf)는 자바 라이브러리이며, 웹과 환경 양쪽에서 TEXT, HTML, XML, Javascript, CSS를 생성할 수 있는 템플릿 엔진이다.
스프링 MVC와의 통합 모듈을 제공하며, 애플리케이션에서 JSP로 만든 기능들을 완전히 대체할 수 있다.
즉, 타임리프(Thymeleaf)는 View Templete Engine으로 JSP, Freemarker와 같이 서버에서 클라이언트에게 응답할 브라우저 화면을 만들어주는 역할을 한다.
📖 목표
✍ 타임리프(Thymeleaf) 목표
타임리프(Thymeleaf)의 주요목표는 세련되고 잘 다듬어진 템플릿을 제공하는 것이다. 이는 유지관리 및 확장이 쉽도록 하는 것을 말한다.
↳ Natural Templates : 기존 HTML 코드와 구조를 변경하지 않고 덧붙이는 방식이다.
↳ Standard + SpringStandard를 통한 템플릿 생성, dialect를 통한 타임리프 확장.
📖 장점
✍ 타임리프(Thymeleaf) 장점
- 코드를 변경하지 않기 때문에 서버팀과 퍼블팀 간의 협업이 편해진다.
- 비즈니스 로직과 분리되어 View에 집중할 수 있다.
- 서버상에서 동작하지 않아도 되기 때문에, 서버 동작 없이 화면을 확인할 수 있다. (서버가 구동하지 않는 경우 정적 컨텐츠)
📎 Spring Boot에서 Thymeleaf
✍ 타임리프(Thymeleaf)에서 SpringBoot를 권장하는 이유
↳ Spring Boot에서는 JSP 설정과 관련하여 자동 설정을 지원하지 않는다.
그에 반해 타임리프는 Dependency만 추가하면 자동으로 설정되어 간편하게 사용할 수 있다.
📌 타임리프(Thymeleaf) 적용
📖 의존성 추가
✍ 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>
📖 Template file 위치
✍ src/main/resources/tempalte 하위에 기능에 따라 directory 구성
✍ 정적인 자원은 src/main/resources/static 에 구성
✍ 공통으로 사용되는 template fragment들은 layout, commons 혹은 fragments를 만들어서 구성
📖 HTML에 네임스페이스(Namespace) 추가
✍ HTML문서에 네임스페이스 추가 방법
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>
개인적으로 공부하며 기록한 내용으로, 틀린 내용이 있는 경우 덧글을 달아주시면 감사하겠습니다. 😍
'법, 용어 > 용어' 카테고리의 다른 글
용어_나라장터_계약체결 방식_2단계경쟁, 협상에 의한 계약 (0) | 2023.04.25 |
---|---|
프로그램 용어 (0) | 2023.04.12 |
'등' 이라는 단어 해석 (0) | 2023.03.31 |
개발 프로그래밍 용어 (0) | 2023.03.15 |
Lessons Learned (0) | 2023.02.27 |