Thymeleafを使用して、ページ固有のJavaScriptおよびJavaScriptが含まれるレイアウトを装飾する方法はありますか?
<!--My Layout -->
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div th:replace="fragments/header :: header">
</div>
<div class="container">
<div layout:fragment="content">
</div>
</div>
</body>
</html>
<!--My Page -->
<!DOCTYPE html>
<html layout:decorator="layout">
<head>
</head>
<body>
<div layout:fragment="content">
hello world
</div>
<script src="pageSpecific1.js"></script>
<script src="pageSpecific2.js"></script>
<script>
alert("hello world")
</script>
</body>
</html>
レイアウトテンプレートで、スクリプトにfragment
を配置します。
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
<body>
..
<th:block layout:fragment="script"></th:block>
</body>
</html>
そして、ページテンプレートで、そのページのスクリプトを追加できます。
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
layout:decorator="template.html">
<body>
...
<th:block layout:fragment="script">
<script th:src="@{/page.js}"></script>
<script>
function foo() {
...
}
</script>
</th:block>
</body>
</html>
ページテンプレートでlayout:decorator
を設定することを忘れないでください。