view를 작성하다보면, 헤더부분, 푸터 부분 계속 겹치는 부분이 있다.
이 부분을 매번 하드 코딩 할 필요없이, thymleaf layout을 활용해 보겠다.
thymeleaf, dialect를 의존성 추가해준다.
다음과 같이 폴
templates 밑에 다음과 같이 작성해준다.
설명하기 앞서, th:block은 해당부분을 감싸주는 역할을 하느데, 실제 이 부분을 다른곳에 가져다쓸때,
<head>부터 들어간다. <th:block> 필드는 삽입 되지 않느다.
<th:fragment="headFragment">
->> 일종의 id를 지정한다고 생각하면 쉽다.
header 도 동일하게, fragment를 사용하여 id를 지정해주었다.
default.html은 레이아웃 파일이다.
th:replace를 사용하여, 위치(/layout/fragments/head/)를 지정하고 ,
해당 위치의 어떤 태그값을 사용할것인지 아이디값(headFragment)를 지정해주면 된다.
layout:fragment는 본문파일을 동적으로 사용할것이다.
html 태그에 layout:decorate 를 사용하여, 레이아웃을 지정해주면 된다.
필자는 다른 블로그를 찾아서, 작성하던중 layout이 안먹혀 3시간 동안 뻘짓한결과..
thymleaf git을 들어가보니, decorator -> decorate로 변경되어있었다. ㅎㅎ...
욕이 나오네.. 공식문서를 확인 하는것이 중요성을 또 다시 느꼈다.
다음과 같이 설정하면, 아마 layout이 잘 적용될것이다.
'Etc' 카테고리의 다른 글
쿠키 ,세션 (0) | 2022.03.04 |
---|---|
커리큘럼 (0) | 2022.01.08 |
빌더 패턴 (0) | 2021.11.03 |
jdbcTemplate (0) | 2021.11.02 |
Assertions / assertJ (0) | 2021.10.30 |