Thymeleaf(타임리프)
개념
- 타임리프는 jsp의 역할인 뷰를 표현하는 Velocity(벨로시티)나 Tiles(타일즈)같은 일종의 뷰를 표현하는 뷰 템플릿 엔진.
- 특히 spring boot 프로젝트에서 사용되는 경향이 많음
타임리프의 특징(기능)
- 서버 사이드 HTML 렌더링
- 백엔드 서버에서 HTML을 동적으로 렌더링한다.
- 네츄럴 템플릿
- 타임리프로 작성된 HTML 템플릿은 브라우저에서 열어도 정상적으로 표시된다.
- Spring 통합
- 타임리프는 Spring과 자연스럽게 통합되어 다양한 기능을 쉽게 사용할 수 있다.
- 표현식 지원
- 변수 표현식, 메시지 표현식, 링크 URL 표현식 등 다양한 표현식을 지원한다.
Thymeleaf의 장점
- 코드를 변경하지 않기 때문에 디자인 팀과 개발 팀간의 협업이 편해진다.
- JSP와 달리 Servlet Code로 변환되지 않기 때문에 비즈니스 로직과 분리되어 오로지 View에 집중할 수 있다.
- 서버상에서 동작하지 않아도 되기 때문에 서버 동작 없이 화면을 확인할 수 있다. 때문에 더비 데이터를 넣고 화면 디자인 및 테스트에 용이하다.
타임리프 사용 방법
1. 타임리프의 사용
- 타임리프는 HTML문서의 HTML 루트 태그의 속성으로 선언을 하여야 사용이 가능하다.
<html xmlns:th="<http://www.thymeleaf.org>">
2. 기본 형식
- JSP와 다르게 표현식이 th로 정의된 속성에 대해서만 적용됨.