개발 등/Thymeleaf

타임리프(Thymeleaf) 정리

darkhorizon 2023. 3. 29. 17:04
728x90
반응형

공식 문서에 설명된 타임리프의 정의에 따르면 타임리프란

웹과 독립형 환경을 위한 서버 사이드 자바 템플릿 엔진으로 HTML, XML, 자바 스크립트, CSS 및 일반 텍스트를 처리 할 수 있습니다.
타임리프의 주요 목표는 템플릿을 만드는 우아하고 유지 관리가 쉬운 방법을 제공하는 것입니다. 
이를 위해 순수 템플릿(Natural Templates)의 개념을 기반으로 템플릿이 디자인 프로토타입으로 사용되는 데 영향을 주지 않는 방식으로 템플릿 파일에 로직을 주입합니다. 
이는 설계 커뮤니케이션을 개선하고 설계 팀과 개발 팀 간의 격차를 해소합니다.
타임리프는 처음부터 웹 표준, 특히 HTML5를 염두에두고 설계되었으므로 필요한 경우 완전히 검증된 템플릿을 만들 수 있습니다.

서버 사이드가 정상 작동하면 동적으로 구성된 데이터를 템플릿 파일에 주입하여 HTML파일을 구성하며, 다른 이유로 서버가 구동하지 않더라도 정의된 HTML의 내용을 사용자에게 보여줄 수 있는 순수 템플릿이다. 

이러한 이유들로 스프링 진영에선 템플릿 엔진으로 타임리프를 권장하고 있다.

 

사용법 정리

1. 의존성 추가

gradle
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'

maven
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

    - 이렇게 설정하면 스프링 부트에서는 기본 뷰 템플릿 경로를 아래와 같이 자동으로 추가한다.

spring.thymeleaf.prefix=classpath:/templates/ 
spring.thymeleaf.suffix=.html

 

2. 템플릿 파일 상단에  네임스페이스 추가

3. 스타일 시트 추가


 

 

728x90