생계유지형 개발자/Spring Framework

[Spring5] Thylemeaf Layout Dialect 적용하기

이 가을 2021. 3. 24. 12:33

Thymleaf layout dialect 라이브러리를 사용해서 Thymleaf를 <head/>, <footer/>, <script/> 등 모든 페이지에서 공통으로 사용하는 영역에 대해서 별도의 파일로 분리가 가능하다.

그리고 각각의 페이지에서 필요한 script나 style을 정의해 사용할 수도 있다.

이를 위해 사용되는 지시자로 fragment, layout, replace 등이 있다.

 

1) Thymleaf Layout Dialect 라이브러리 추가 (build.gradle.kt)

    /** Thymeleaf */
    implementation("org.springframework.boot:spring-boot-starter-thymeleaf")

    /** Thymeleaf Layout Dialect */
    implementation("nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect")

 

2) ViewResolver에 Dialect 추가

    @Bean
    fun thymeleafTemplateEngine(): ISpringWebFluxTemplateEngine {
        val templateEngine = SpringWebFluxTemplateEngine()
        templateEngine.setTemplateResolver(thymeleafTemplateResolver())
        templateEngine.addDialect(LayoutDialect()) // <-- 추가되는 부분
        return templateEngine
    }

* Thymleaf 설정을 위한 전체 소스코드는 이전 포스트 참고 - jolly-sally.tistory.com/49 

 

[Spring5] WebFlux + Thymeleaf + Kotlin

스프링 부트 초창기에 Spring MVC 에서 Thymeleaf를 사용해보았는데, WebFlux 에서 사용하기는 처음이었다. 더군다나 코틀린 언어도 처음 접해보는 거라서 많이 낯설었다. 기존에 알던데로 application.yml

jolly-sally.tistory.com

 

3) 파일 분리


이전 포스트

본문의 이해를 위해 먼저 또는 함께 보면 좋을 포스트이다.

 

1. Spring Webflux에서 Thymeleaf를 Kotlin으로 구현하기 - jolly-sally.tistory.com/49

 

[Spring5] WebFlux + Thymeleaf + Kotlin

스프링 부트 초창기에 Spring MVC 에서 Thymeleaf를 사용해보았는데, WebFlux 에서 사용하기는 처음이었다. 더군다나 코틀린 언어도 처음 접해보는 거라서 많이 낯설었다. 기존에 알던데로 application.yml

jolly-sally.tistory.com

2. Thymeleaf + Vue CDN 함께 사용하기 - jolly-sally.tistory.com/58

 

[Spring5] Thymeleaf + Vue CDN 혼용하기

지난 포스트에서 Spring Webflux에서 Thymeleaf를 Kotlin으로 구현하는 방법을 기술했다.  jolly-sally.tistory.com/49 [Spring5] WebFlux + Thymeleaf + Kotlin 스프링 부트 초창기에 Spring MVC 에서 Thymeleaf..

jolly-sally.tistory.com


참고 사이트

ultraq.github.io/thymeleaf-layout-dialect/getting-started/

 

Getting started

A dialect for Thymeleaf that lets you build layouts and reusable templates in order to improve code reuse

ultraq.github.io

www.hanumoka.net/2020/05/21/springBoot-20200521-springboot-thymeleaf-layout-dialect/

 

Springboot에 thymeleaf-layout-dialect적용하기

들어가기springboot 프로젝트에 thymeleaf-layout-dialectt이라는 라이브러리를 사용해서 thymeleaf 템플릿 엔진에 레이아웃을 적용해 보겠다. 보통 웹 페이지를 만들면 화면을 header, contents, footer 등으로 나

www.hanumoka.net

eblo.tistory.com/57

 

spring boot - Thymeleaf 화면 구성(Layout)

Overview angularjs, reactjs, viewjs 등이 웹 회면에서 많이 사용되면서부터 Server-side template language의 역활이 많이 감소하였습니다. 지금 프로젝트에서도 주 역할은 화면 구성 정도 입니다. 기존에 화면..

eblo.tistory.com