Thymeleaf

[Thymeleaf] 타임리프 스프링 통합

GreedyBE 2023. 3. 10. 12:16

타임리프는 스프링을 사용하지 않는 환경에서도 활용  가능하지만, 스프링과 통합하여 사용하면 좀 더 생산성 있는 개발을 할 수 있는 여러 기능을 제공한다. 

 

스프링 통합으로 추가되는 기능들

  • 스프링 SpringEL 문법 통합
  • 스프링 검증, 오류 처리 통합
  • 스프링 변환 서비스 통합
  • 스프링 메시지, 국제화 기능의 편리한 통합
  • ${@myBean.doSomething()} 과 같은 스프링 빈 호출 지원
  • 편린한 폼 관리를 위한 추가 속성
    - th:object : 기능 강화, 폼 커맨드 객체  선택
    - th:field, th:errors, th:errorclass
  • 폼 컴포넌트 기능
    - checkbox, radio button, List 등을 편리하게 사용

 

 

타임리프 사용을 위한 설정

- 타임리프를 스프링에 적용하기 위해서는 타임리프 템플릿 엔진을 스프링 빈에 등록하고, 타임리프용 뷰 리졸버를 스프링 빈으로 등록 필요

- 하지만 스프링 부트에서는 아래와 같은 코드를 등록해줌으로서 build.gradle을 통해 이러한 과정을 자동으로 진행

- Gradle은 타임리프 통합을 위한 관련 추가 라이브러리를 다운로드하고, 설정을 위한 스프링 빈을 등록하는 등의 과정 진행

 

build.gradle

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

 

타임리프 메뉴얼
-  기본 메뉴얼 : https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html
-  스프링 통합 메뉴얼 : https://www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.html
-  그 외 스프링 부트 타임리프 설정 :
https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-applicationproperties.html#common-application-properties-templating