[Thymeleaf] 타임리프 정의 및 사용 방법

2024. 1. 4. 22:23SpringBoot+JPA/Thymeleaf

반응형

 

Thymeleaf 정의

 

자바 기반의 템플릿 엔진 (서버 사이드 Java 템플릿 엔진)

주로 웹 애플리케이션에서 서버 사이드 템플릿 엔진으로 사용

다양한 속성을 사용하여 HTML 템플릿에서 동적으로 데이터를 표현하고 조작 가능

 

타임리프는 자연스럽게 HTML 문서 안에 삽입되어 읽기 쉽고 유지보수가 용이하도록 설계되었음

 


Thymeleaf 사용방법

 

문서 최상단에 코드 추가

<html xmlns:th="http://www.thymeleaf.org">

 


▪️ th:value

 

주로 폼 요소에서 사용

사용자가 입력한 값을 서버로 제출할 때 이 값을 설정하거나, 서버에서 받은 값을 폼 요소에 미리 설정할 때 사용

(insert, update)

<input type="text" th:value="${user.name}" />

 

 

 

▪️ th:field

 

폼 요소의 필드를 설정

폼 요소에 값을 바인딩할 때 사용

폼 요소의 nameid 속성을 설정하면서, 폼 요소의 값도 동시에 설정

<input type="text" th:field="*{user.name}" />

 

 

 

▪️ th:text

 

텍스트 콘텐츠를 설정

HTML 요소의 텍스트 내용을 동적으로 설정

서버에서 받은 데이터를 화면에 표시할 때 주로 사용

(list)

<p th:text="${user.description}">Default description</p>

 

 

 

▪️ th:each

 

리스트나 배열과 같은 반복 가능한 객체를 순회

각 요소에 대한 작업을 수행할 때 사용

<ul>
    <li th:each="item : ${items}" th:text="${item}">Item</li>
</ul>

 

 

 

▪️ th:if   /   th:unless

 

조건문을 통해 특정 조건에 따라 요소를 화면에 표시하거나 숨길 때 사용

<p th:if="${user.isAdmin}">This user is an admin.</p>

 

 

 


▪️ $object (객체 읽어서) → *{ 변수 }   => field 사용

▪️ 객체를 사용하지 않으면 ${객체명, 변수}  => value, text, [[ ]]

 

 

반응형