[수미수의 개발 브로구]

[Spring] Spring + Thymeleaf 시 레이아웃 적용 오류 본문

Language & Framework/Spring

[Spring] Spring + Thymeleaf 시 레이아웃 적용 오류

수미수 2023. 11. 4. 23:13
반응형

 들어가기 전

 

  Spring + Thymeleaf 를 사용하여 프로젝트를 진행 하면서, 공통 레이아웃 (헤더, 푸터)을 적용 하였다. 그런데, 갑자기 공통 레이아웃이 렌더링 되던것이 되지 않아 계속 원인을 찾았는데, build.gradle 파일에 의존성 적용 했던 것이 사라졌던 것이다. 우선 오류 내용 확인 후 간단 히 해결 방안에 대해서 이야기 하고자 한다.

 

오류 내용

  공통 레이아웃이 적용된 URL 을 호출 하였는데, 헤더, 푸터 정보가 나오지 않는 현상이 발생 하였다. 아래 content.html 에서 layout:decorate 의 값에 설정된 layout/default.html 파일이 불러지지 않았다.

content.html

<!DOCTYPE html>
<html xmlns:th="http//www.thymeleaf.org"
      xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
      layout:decorate="~{layouts/default}">

<div layout:fragment="content">
  본문 영역입니다.
</div>

</html>

 

해결 방안

  해결은 아주 간단 했다. 아래 build.gradle 의존성 파일을 참고 하면 되며, 꼭 "implementation("nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect")" 해당 프로젝트를 꼭 의존성에 추가 해야 한다.

    implementation("org.springframework.boot:spring-boot-starter-thymeleaf")
    implementation("nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect")
반응형