Thymeleaf는 자바 웹 개발에서 많은 쓰는 서버 사이드 템플릿 엔진
쉽게 말하면 "HTML에 데이터를 넣어서 화면을 만들어주는 도구"라고 보면 된다
Thymeleaf란?
Thymeleaf는 HTML 파일을 그대로 유지하면서 동적으로 데이터를 바인딩할 수 있는 템플릿 엔진이다
특징은 "HTML을 깨지 않고 그대로 사용 가능"하다는 점이다
왜 사용하는가
기존에는 JSP 같은 걸 많이 썼는데 요즘은 Spring Boot + Thymeleaf 조합이 많이 사용된다
이유는
🔹HTML 파일을 그대로 열어도 화면이 깨지지 않음
🔹유지보수 쉬움
🔹프론트/백 협업 편함
기본 구조 (Spring 기준)
흐름은 이렇게 보면 된다
Controller ➡️ Model에 데이터 담기 ➡️ Thymeleaf ➡️ HTML 렌더링
예시 :
@GetMapping("/hello")
public String hello(Model model) {
model.addAttribute("name", "유진");
return "hello";
}
🔼 Controller
<p th:text="${name}"></p>
🔼 HTML (Thymeleaf)
결과 : 유진
핵심 문법
<span th:text="${name}"></span>
🔼 값 출력
<li th:each="item : ${list}" th:text="${item}"></li>
🔼 반복문
<p th:if="${age > 20}">성인</p>
🔼 조건문
<a th:href="@{/home}">홈</a>
🔼 링크
<input type="text" th:value="${name}">
🔼 입력값 바인딩
장점
🔹HTML 그대로 사용 가능 (디자이너 친화적)
🔹Spring과 궁합 좋음
🔹문법이 직관적
단점
🔹JSP보다 초기 학습 필요
🔹복잡한 로직은 불편
🔹프론트 분리(React 등)에서는 잘 안씀
| 항목 | JSP | Thymeleaf |
| 문법 | Java 코드 섞임 | HTML 기반 |
| 가독성 | 낮음 | 높음 |
| 유지보수 | 어려움 | 쉬움 |
| 최신 트렌드 | ↓ | ↑ |
'🍏 개발일기' 카테고리의 다른 글
| Spring에서 Bean을 등록하는 방법 (0) | 2026.03.31 |
|---|---|
| 전자정부표준프레임워크에 대해서 (0) | 2026.03.30 |
| REST API 란? (0) | 2026.03.29 |
| 동기와 비동기 (0) | 2026.03.27 |
| HTTP 메서드에 대해서 : GET, POST, PUT, PATCH, DELETE (0) | 2026.03.26 |