본문 바로가기
Thymeleaf

6. Thymeleaf 기본 문법 - 4

by leo2114 2024. 2. 22.
반응형

속성 바인딩

Thymeleaf에서는 HTML 요소와 백엔드 데이터를 연결하는 속성 바인딩 기능을 제공합니다. 이를 통해 동적인 데이터를 HTML 요소에 표시하거나 사용자 입력을 백엔드로 전달할 수 있습니다. 이번 챕터에서는 Thymeleaf에서의 속성 바인딩에 대해 알아보겠습니다.

1. 속성 바인딩 기본 구문

Thymeleaf에서의 속성 바인딩은 th: 접두사를 사용하여 정의됩니다. 이 접두사를 사용하여 HTML 속성에 Thymeleaf 표현식을 삽입할 수 있습니다.

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Attribute Binding Example</title>
</head>
<body>
    <a th:href="@{${url}}">Go to Homepage</a>
</body>
</html>

 

위의 코드에서 th:href 속성은 ${url}로 바인딩되어 있습니다. 이는 백엔드에서 모델에 추가된 url 속성의 값으로 대체됩니다.

2. 속성 바인딩 유형

Thymeleaf에서는 다양한 유형의 속성 바인딩을 지원합니다. 일반적으로 사용되는 몇 가지 유형은 다음과 같습니다.

  • th:text: 텍스트 내용을 표시하는 속성에 데이터를 바인딩합니다.
  • th:src, th:href: 이미지 소스 또는 링크 주소에 데이터를 바인딩합니다.
  • th:if, th:unless: 조건에 따라 요소의 가시성을 제어합니다.
  • th:class, th:id, th:style: 클래스, 아이디, 스타일을 동적으로 설정합니다.

3. 코드 예제

다음은 Thymeleaf의 속성 바인딩을 사용하는 간단한 예제입니다.

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Attribute Binding Example</title>
</head>
<body>
    <p th:text="${message}">Default message</p>
    <img th:src="@{${imageSrc}}" alt="Image">
    <a th:href="@{/home}" th:if="${isLoggedIn}">Go to Home</a>
    <div th:class="${isError} ? 'error' : 'success'">Message Box</div>
</body>
</html>

 

위의 코드에서 ${message}, ${imageSrc}, ${isLoggedIn}, ${isError}는 각각 백엔드에서 제공되는 데이터를 나타냅니다. Thymeleaf는 이러한 데이터를 HTML 속성에 바인딩하여 동적으로 템플릿을 렌더링합니다.

Thymeleaf의 속성 바인딩 기능을 활용하면 HTML과 백엔드를 효율적으로 연결하여 동적인 웹 페이지를 만들 수 있습니다. 이를 통해 사용자에게 보다 풍부한 사용자 경험을 제공할 수 있습니다.

반응형

'Thymeleaf' 카테고리의 다른 글

10. Thymeleaf 템플릿 - 3  (0) 2024.02.24
9. Thymeleaf 템플릿 - 2  (0) 2024.02.22
8. Thymeleaf 템플릿 - 1  (0) 2024.02.22
7. Thymeleaf 기본 문법 - 5  (0) 2024.02.22
5. Thymeleaf 기본 문법 - 3  (0) 2024.02.22
4. Thymeleaf 기본 문법 - 2  (0) 2024.02.22
3. Thymeleaf 기본 문법 - 1  (0) 2024.02.22
2. Thymeleaf 소개 - 2  (0) 2024.02.22