타임리프(Thymeleaf)란?
스프링에서 공식 지원하는 템플릿 엔진으로, HTML의 동적 렌더링을 위한 라이브러리입니다.
쉽게 말해, 서버에서 데이터를 넘겨보내면 타임리프는 해당 데이터를 가지고 HTML 화면을 제작합니다. 요청받은 데이터를 화면 구석구석에 배치한 뒤 사용자가 직접적으로 보게되는 완성된 템플릿(HTML파일)을 만드는 것이죠. 이를 SSR, Server Side Rendering이라고 합니다.
타임리프 설정
1. 의존성
Gradle
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
타임리프 라이브러리를 추가해주겠습니다. build.gradle 파일에 위와 같이 코드를 추가해줍니다. 이후 Reload Projects (Shift + Alt + U) 해주어 프로젝트에 의존성을 반영해줍니다.
Maven
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
메이븐의 경우에는 위와 같습니다.
2. 경로 설정
경로를 설정하기 앞서 src -> main -> resources에 위치한 application.properties 파일을 삭제한 뒤 application.yml 파일을 생성하겠습니다.
application.yml파일을 다음과 같이 작성해줍니다.
application.yml
spring:
thymeleaf:
prefix: classpath:templates/
suffix: .html
cache: false #개발
# cache: true #운영
enabled: true
prefix : 템플릿 기본 경로를 설정합니다.
suffix : Controller에서 .html을 생략하고 경로 설정이 가능합니다.
cache : 개발 과정에서 프로젝트 재실행 없이, 새로고침 만으로 템플릿 수정 내용을 즉시 확인 가능하게 합니다. 운영 반영 시 true로 설정해줍니다.
enabled : 타임리프 사용 여부 설정
templates 폴더 아래에 fragment, layout, view, view\home 파일로 폴더 구조를 설정하겠습니다. 앞으로 모든 화면은 해당 경로에서 만들어진 후 사용자들에게 렌더링될 것입니다. html파일도 다음과 같이 만들어줍니다.
'[spring]프로젝트' 카테고리의 다른 글
1. VSCode에 스프링 환경 설정 (0) | 2024.11.24 |
---|