본문 바로가기
IT 개발/Thymeleaf

Thymeleaf란

by Love of fate 2021. 10. 19.
728x90
반응형

Thymeleaf란

 

 

Thymeleaf란 

Thymeleaf는 HTML, XML, JavaScript, CSS 및 일반 텍스트까지 처리할 수 있는 웹 및 독립 실행형 환경을 위한 최신 서버 측 Java 템플릿 엔진입니다.

 

Thymeleaf의 주요 목표는 템플릿을 만드는 유지 관리가 쉬운 방법을 제공하는 것입니다. 이를 달성하기 위해 디자인 프로토타입으로 사용되는 템플릿에 영향을 미치지 않는 방식으로 논리를 템플릿 파일에 주입하는 Natural Templates 의 개념을 기반으로 합니다 . 이를 통해 디자인 커뮤니케이션이 향상되고 디자인 팀과 개발 팀 간의 격차가 해소됩니다.

Thymeleaf는 처음부터 웹 표준(특히 HTML5) 을 염두에 두고 설계되어 필요한 경우 완전히 검증된 템플릿을 생성할 수 있습니다.

 

사용법 : Document API

https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#what-is-thymeleaf

 

Tutorial: Using Thymeleaf

1 Introducing Thymeleaf 1.1 What is Thymeleaf? Thymeleaf is a modern server-side Java template engine for both web and standalone environments, capable of processing HTML, XML, JavaScript, CSS and even plain text. The main goal of Thymeleaf is to provide a

www.thymeleaf.org

 

● 6가지 템플릿에 사용 

 

템플릿 모드 라고 합니다 .

  • HTML, XML : 마크업 템플릿 모드
  • 텍스트, 자바스크립트, CSS : 무 작동 템플릿 모드
  • RAW : 무 작동 템플릿 모드

 

● 템플릿 선언 

<dependency>
  <groupId>org.thymeleaf</groupId>
  <artifactId>thymeleaf</artifactId>
  <version>3.0.12.RELEASE</version>
</dependency>
<html xmlns:th="http://www.thymeleaf.org">

 

th를 사용할때에는 위의 코드처럼 선언하여 사용하고 

사용자 정의 data- 접두사 속성은 HTML5사양에서 허용되므로 아래처럼 사용하면 템플릿 이 유효한 HTML5 문서가 된다.

 

* 두 표기법은 완전히 동일하고 상호 교환 가능하지만 코드 샘플의 단순성과 간결함을 위해 이 자습서에서는 네임스페이스 표기법 ( th:*)을 사용합니다 . 또한 th:*표기법은 모든 Thymeleaf 템플릿 모드( XML, TEXT…) 에서 더 일반적이고 허용되는 반면 data-표기법은 HTML모드 에서만 허용 된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
 
<html>
 
  <head>
    <title>Good Thymes Virtual Grocery</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <link rel="stylesheet" type="text/css" media="all" 
          href="../../css/gtvg.css" data-th-href="@{/css/gtvg.css}" />
  </head>
 
  <body>
  
    <p data-th-text="#{home.welcome}">Welcome to our grocery store!</p>
  
  </body>
 
</html>
cs

 

 WebContext템플릿 에서 요청 매개변수와 요청, 세션 및 애플리케이션 속성을 얻는 데 사용할 수 있는 몇 가지 특수 표현식이 있습니다 . 예를 들어:

  • ${x}xThymeleaf 컨텍스트 또는 요청 속성 으로 저장된 변수를 반환 합니다 .
  • ${param.x}(다중값일 수 있음) 이라는 요청 매개변수 를 반환합니다 x.
  • ${session.x}라는 세션 속성 을 반환합니다 x.
  • ${application.x}라는 서블릿 컨텍스트 속성 을 반환합니다 x.
  • 간단한 표현:
    • 변수 표현식: ${...}
    • 선택 변수 표현식: *{...}
    • 메시지 표현: #{...}
    • 링크 URL 표현식: @{...}
    • 조각 표현식: ~{...}
728x90
반응형

'IT 개발 > Thymeleaf' 카테고리의 다른 글

[Thymeleaf] 사용법  (0) 2023.04.18