NellKiM 2025. 2. 4. 15:22

ThymeleafSpring Boot와 함께 주로 사용되는 서버사이드 템플릿 엔진입니다. HTML 파일을 기반으로 데이터를 동적으로 렌더링하여 웹 페이지를 생성할 수 있게 해줍니다.


🛠️ Thymeleaf의 주요 특징

  1. HTML 친화적
    • 순수 HTML 문서에 Thymeleaf 태그 속성(th:text, th:if 등)을 추가하여 동적 콘텐츠를 렌더링합니다.
    • 브라우저에서도 정상적으로 렌더링되기 때문에 디자이너와 개발자 간 협업이 수월합니다.
  2. Spring 통합
    • Spring MVC와 자연스럽게 통합되어 모델 데이터를 뷰에 전달하는 데 적합합니다.
  3. 서버사이드 렌더링
    • 서버에서 데이터를 채워 클라이언트에 완성된 HTML을 전달합니다.
  4. 조건부 렌더링, 반복 지원
    • 동적으로 HTML 요소를 추가하거나 반복 처리할 수 있습니다.

🌟 기본 사용 예제

1. Controller 예제

java
복사편집
@Controller public class HomeController { @GetMapping("/greet") public String greet(Model model) { model.addAttribute("name", "사용자님"); return "greet"; // greet.html 렌더링 } }

2. Thymeleaf 뷰 (greet.html)

html
복사편집
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>Thymeleaf Example</title> </head> <body> <h1 th:text="'안녕하세요, ' + ${name} + '!'" ></h1> </body> </html>

🔧 주요 기능

기능설명예제

텍스트 출력 데이터 바인딩 후 출력 th:text="${data}"
조건부 처리 조건에 따라 렌더링 th:if="${condition}"
반복 처리 리스트 반복 출력 th:each="item : ${list}"
링크 처리 동적 URL 생성 th:href="@{/home}"

🎯 왜 사용하나요?

  • JSP보다 현대적인 방식으로 HTML 친화적입니다.
  • Spring Boot 프로젝트에 최적화되어 있고 설정이 간단합니다.
  • 프론트엔드 디자이너와 협업하기 쉬운 템플릿 엔진입니다.