1.在 一个html文档的 一个标签里:
th:fragment="myFragment"
2.在另一个 html里 引入:
th:replace="/test::myFragment"
//templates文件夹下 test.html
3.
- th:replace 会将加载它的容器标签去掉(在replace的文档里),将整个片段放到这里。
- th:include 读取要进来的内容(不包含标签),加载到 容器标签里
实战这几种情况:
1. fragment在A文档中的 body里,replace到B文档中的 body中。
A中:
<head>
<meta charset="UTF-8">
<title>1</title>
</head>
<body id="hello" th:fragment="bodyA" >
<article >
<div id="1"></div>
<p>Test in A</p>
<div od="2"></div>
</article>
<p id="inuse"></p>
</body>
B中:
<head>
<meta charset="UTF-8">
<title>2</title>
</head>
<body id="Tyrell" th:replace="a::bodyA">
<div ></div>
<div id="3">
<p>Fuck in B</p>
</div>
</body>
浏览器显示:
<head>
<meta charset="UTF-8">
<title>2</title>
</head>
<body id="hello " >
<article >
<div id="1"></div>
<p>Test in A</p>
<div od="2"></div>
</article>
<p id="inuse"></p>
</body>
情况:A中fragment带着标签插入,B中body标签被覆盖。
2. fragment在A文档中的 body里,replace到文档Bbody标签下的div里。
A中:
<head>
<meta charset="UTF-8">
<title>1</title>
</head>
<body id="hello" th:fragment="bodyA" >
<article >
<p>Test in A</p>
</article>
<p id="inuse"></p>
</body>
B中:
<head>
<meta charset="UTF-8">
<title>2</title>
</head>
<body id="Tyrell">
<div th:replace="a::bodyA"></div>
<div id="3">
<p>Fuck in B</p>
</div>
</body>
浏览器显示:
<head>
<meta charset="UTF-8">
<title>2</title>
</head>
<body id="Tyrell">
<body id="hello" >
<article >
<p>Test in A</p>
</article>
<p id="inuse"></p>
</body>
<div id="3">
<p>Fuck in B</p>
</div>
</body>
情况:还是加载到了B里,是直接插入,所以渲染后有俩 body。