temp.html 에서
th:fragment="alias1"
별칭 설정
<div th:fragment="alias1">
별칭 1
</div>
<h1 th:fragment="alias2">
별칭 2
</h1>
main.html 에서 조각을 가져오려면
<th:block th:replace="~{fragments/temp :: alias1}"></th:block>
<th:block th:replace="~{fragments/temp :: alias2}"></th:block>
이렇게 가져와서 쓸 수 있음
footer.html 전체를 가져오려면
main.html 에서 th:replace="~{fragments/footer}" 이렇게 가져오면 페이지 전체 가져와짐
<th:block th:replace="~{fragments/footer}"></th:block>
그렇지만 footer.html 을 전체 th:block th:fragment 로 감싸서 사용하기도 함
별칭 설정 없이 html 전체 호출할 때 (이름 없이 호출할 때)
~{fragments/footer}
타임리프는 footer.html 내의 유효한 태그 내용물만 긁어옴. 이 과정에서 의도치 않게 일부 태그가 누락되거나 구조가 깨질 위험이 있음.
별칭 설정하여 호출할 때 (이름으로 호출할 때)
footer.html
<th:block th:fragment="footerFragment">
<h1> footer 내용 작성</h1>
</th:block>
~{fragments/footer :: footerFragment}
\<th:block> 으로 감싸진 모든 내용(head, body, script 전체)을 박스 채로 들어다가 교체하는 방식이므로 가장 확실하고 안전함.
파일 하나가 통째로 공통 레이아웃 역할을 하고 있다면, footerFragment라는 이름을 명시해주는 것이 타임리프의 표준적인 구너장 방식이며 예상치 못한 파싱 오류를 줄일 수 있음.