[java] Thymeleaf의 문법은 어떻게 구성되어 있나요?
Thymeleaf는 Java에서 웹 애플리케이션의 템플릿 엔진으로 사용되는 기술입니다. Thymeleaf는 HTML 템플릿 내에 표현식을 삽입하여 동적으로 데이터를 표시할 수 있습니다.
Thymeleaf의 문법은 다음과 같은 구성 요소로 이루어져 있습니다.
- 태그 수정자 (Tag Modifiers)
- 태그 수정자는 HTML 요소에 적용되는 Thymeleaf 표현식입니다. 주로
th:
접두사를 사용하며, 해당 요소의 동작을 변경하거나 값을 설정할 수 있습니다.
예시:
<div th:text="${title}">Hello</div>
:title
변수의 값을div
요소의 텍스트로 표시합니다.<input type="text" th:value="${username}">
:username
변수의 값을input
요소의 기본값으로 설정합니다.
- 태그 수정자는 HTML 요소에 적용되는 Thymeleaf 표현식입니다. 주로
- 속성 수정자 (Attribute Modifiers)
- 속성 수정자는 HTML 요소의 속성에 적용되는 Thymeleaf 표현식입니다. 주로
th:
접두사를 사용하며, 해당 속성의 값을 동적으로 설정할 수 있습니다.
예시:
<a href="#" th:href="@{/users/{id}(id=${userId})}">User Profile</a>
:userId
변수의 값을 템플릿 링크의 경로 매개변수로 설정합니다.
- 속성 수정자는 HTML 요소의 속성에 적용되는 Thymeleaf 표현식입니다. 주로
- 조건문 (Conditional Statements)
- Thymeleaf는
th:if
,th:unless
,th:switch
,th:case
등의 속성을 제공하여 조건문을 작성할 수 있습니다. 이를 통해 템플릿의 일부를 동적으로 표시하거나 숨길 수 있습니다.
예시:
<div th:if="${user.isAdmin()}">Admin section</div>
:user.isAdmin()
의 결과에 따라div
요소를 표시합니다.
- Thymeleaf는
- 반복문 (Iteration)
- Thymeleaf는
th:each
속성을 사용하여 컬렉션 요소를 반복하여 템플릿을 생성할 수 있습니다.
예시:
<ul> <li th:each="user : ${users}" th:text="${user.name}"></li> </ul>
users
컬렉션의 각 요소에 대해li
요소를 생성하고,user.name
값을 텍스트로 표시합니다.
- Thymeleaf는
Thymeleaf의 문법은 위와 같은 구성 요소로 이루어져 있으며, 이를 활용하여 동적인 웹 페이지를 생성할 수 있습니다. Thymeleaf 공식 문서나 튜토리얼을 참조하시면 더 자세한 내용을 확인하실 수 있습니다.
- Thymeleaf 공식 문서: https://www.thymeleaf.org/documentation.html
- 예제 코드: https://github.com/thymeleaf/thymeleafexamples