私はタイムリーフを使用して、ヘッド/メイン/フッタの部分でテンプレートを分割しています。 (他人にではなく)いくつかのページにスタイルシートとJavaScriptを含めるために、私は、フラグメント式にas explained here.タイムリーフフラグメントの表現
を使用していますので、私のhead.htmlは、次のようになります。
<!DOCTYPE html>
<html>
<head th:fragment="head(title,links,scripts)">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css"/>
<title th:replace="${title}">Title placeholder</title>
<!--/* Per-page placeholder for additional links */-->
<th:block th:replace="${links} ?: ~{}" />
<th:block th:replace="${scripts} ?: ~{}" />
</head>
<body>
</body>
</html>
そして、これは、内のインスタンスのために使用されています私のホームページ、 index.htmlを次のように:
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head th:replace="head :: head(~{::title},~{::link},~{::script})">
<title th:text="#{label.pages.home.title}">Homepage</title>
<link rel="stylesheet" href="/assets/css/jumbotron.css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
</head>
<body>
...
</body>
</html>
これがあると正常に動作します。結果のページのヘッダーにスクリプトタグとリンクタグが表示されます。しかし時折、私はちょうど</body>
前(本文の最後にスクリプトを持っていると思います。私は二つのことが結果のページに起こり、その位置に<script>....</script>
を置く場合。
- スクリプトは、頭の中で
- 表示されますスクリプトは元の位置
で二回表示されますどのように私は頭の中でスクリプトを入れてからthymeleafを防ぐことができますか?