[Thymeleaf] 타임리프란?

Oublie-le·2024년 9월 19일

Thymeleaf란?

'템플릿 엔진'의 일종. html 태그에 속성을 추가해 페이지에 동적으로 값을 추가하거나 처리할 수 있다.

-템플릿 엔진이란?
지정된 템플릿 양식과 데이터가 합쳐져 html 문서를 출력하는 소프트웨어
서버 템플릿 엔진과 클라이언트 템플릿 엔진으로 나뉘는데, 타임리프는 전자에 해당한다.

서버 템플릿 엔진은, 서버에서 DB 또는 API 등을 통해 가져온 데이터를 미리 정의된 템플릿에 넣어 html을 그려내 클라이언트에 전달해준다. 즉, html 코드에서 고정적으로 사용되는 부분은 템플릿으로 만들어두고 동적으로 생성되는 부분만 템플릿 특정 장소에 끼워넣는 방식으로 동작 할 수 있게 해준다.

여러 서버 템플릿 엔진의 특징
-jsp: 스프링 부트에서 비권장
-Velocity: 스프링 부트에서 비권장
-Freemarker:템플릿 엔진으로서 기능이 너무 다양함. 숙련도 낮은 경우 비즈니스 로직이 추가됨.
-Thymeleaf: 스프링에서 권장. 문법이 어려움.
-Mustache: 심플하고 서버, 클라 모두 사용 가능

Thymeleaf 사용하기

thymeleaf 뷰 템플릿을 사용하기 위해서는 ThymeleafViewResolver를 등록해야 한다.
아래 라이브러리를 추가하면 Spring이 위 작업을 자동화 해준다.

Gradle - build.gradle
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'

타임리프를 사용할 html 파일에 다음과 같이 태그를 수정해준다.

Thymeleaf 문법

대부분의 html 속성을 th:xxx 로 변경할 수 있다.
ex: th:text="${변수명}"

링크텍스트

profile
개발자 지망생

0개의 댓글