<html layout:decorate="~{layout}">
코드를 통해 연결시킨다.<html layout:decorate="~{layout}">
에 의해 layout.html
파일이 실행될 때,<th:block layout:fragment="content"></th:block>
는 그 때 당시의 실행되고 있는 파일에 해당하는 content
로 인식한다.ex)
Controller
에서return "question_detail";
을 할 경우question_detail.html
이 실행된다.
이 경우layout.html
에서는quetion_detail.html
의content
를 실행한다.
<html layout:decorate="~{layout}">
<head></head>
<body>
<div layout:fragment="content" class="container my-3">
<!-- 질문 -->
<h2 class="border-bottom py-2" th:text="${question.subject}"></h2>
<div class="card my-3">
<div class="card-body">
<div class="card-text" style="white-space: pre-line;" th:text="${question.content}"></div>
<div class="d-flex justify-content-end">
<div class="badge bg-light text-dark p-2 text-start">
<div th:text="${#temporals.format(question.createDate, 'yyyy-MM-dd HH:mm')}"></div>
</div>
</div>
</div>
</div>
(... 생략)
<html layout:decorate="~{layout}">
<head></head>
<body>
<div layout:fragment="content" class="container my-3">
<table class="table">
<thead class="table-dark">
<tr>
<th>번호</th>
<th>제목</th>
<th>작성일시</th>
</tr>
</thead>
<tbody>
<tr th:each="q, loop : ${questionList}">
<td>
<a th:text="${loop.count}" th:href="@{|/question/detail/${q.id}|}"></a>
</td>
<td>
<a th:text="${q.subject}" th:href="@{|/question/detail/${q.id}|}"></a>
</td>
<td th:text="${#temporals.format(q.createDate, 'yy-MM-dd HH:mm')}"></td>
</tr>
</tbody>
</table>
</div>
</body>
</html>