すべてのページのレイアウトを含む template.html ファイルと別の html ファイル (index.html) があり、index.html ファイルのデータを template.html の body タグに記述したいと考えています。タイムリーフを介してこれを行うにはどうすればよいですか。
質問する
857 次
2 に答える
1
ページ間で共有されるレイアウトを含むページを作成します。多くの場合、これはページ ヘッダー、ナビゲーション、フッター、およびページ コンテンツの配置場所を含むテンプレートになります。
Layout.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
<head>
<title>Layout page</title>
<script src="common-script.js"></script>
</head>
<body>
<header>
<h1>My website</h1>
</header>
<section layout:fragment="content">
<p>Page content goes here</p>
</section>
<footer>
<p>My footer</p>
<p layout:fragment="custom-footer">Custom footer here</p>
</footer>
</body>
</html>
layout:fragment 属性が および にどのように適用されたかに注目してください。
フッターの要素。これらは、コンテンツ ページ内の一致するフラグメントによって置換される候補となるデコレータ ページ内のポイントです。次に、いくつかのコンテンツ ページを作成します。
Content1.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
layout:decorator="Layout.html">
<head>
<title>Content page 1</title>
<script src="content-script.js"></script>
</head>
<body>
<section layout:fragment="content">
<p>This is a paragraph from content page 1</p>
</section>
<footer>
<p layout:fragment="custom-footer">This is some footer content from content page 1</p>
</footer>
</body>
</html>
参考:
レイアウト/デコレータ ページを使用してコンテンツのスタイルを設定できる Thymeleaf の方言。 https://github.com/ultraq/thymeleaf-layout-dialect#decorators-and-fragments
于 2014-08-27T06:25:16.487 に答える
0
通常は別の方法で、次のようにテンプレートまたはテンプレートの一部をページに含めます。
<head th:include="fragments/template :: headFragment">
ヘッダー内、または
<div th:include="fragments/template :: footerFragment"></div>
index.html の本文に。template.html ファイル内のフラグメントの場所:
<header id="headerFragment" th:fragment="headerFragment">
...
</header>
<div class="container">
</div>
<footer id="footer" th:fragment="footerFragment">
<!-- FOOTER -->
<footer>
...
</footer>
</footer>
インデックス ページをテンプレートに含めると、それはテンプレートではなくなりますよね?
よろしく、
于 2013-11-29T12:58:45.023 に答える