子模板引用父模板
父模板中要給子模板繼承的部分用
th:fragment="模塊名稱"
標明-
語法
-
引用父模板的
fragment
- 父模板
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <body> <div th:fragment="copy"> © 2011 The Good Thymes Virtual Grocery </div> </body> </html>
- 子模板引用
<body> <div th:insert="~{footer :: copy}"></div> </body>
只引用一個元素的話可以等價于下面這樣寫
<body> <div th:insert="footer :: copy"></div> </body>
-
使用
css選擇器
父模板
<div id="copy-section"> © 2011 The Good Thymes Virtual Grocery </div>
子模板引用
<body> <div th:insert="~{footer :: #copy-section}"></div> </body>
-
footer
是父模板的文件名,即父模板為footer.html
,只要是放在了SpringMVC
視圖解析器的前后綴范圍內(nèi)即可 -
#copy-section
就是常規(guī)的css選擇器
語法
-
-
使用三目運算符
<div th:insert="footer :: (${user.isAdmin}? #{footer.admin} : #{footer.normaluser})"></div>
-
三種引用方式
-
th:insert
-- 把父模板的內(nèi)容(包括標簽)
插入到子模板引用時的標簽中,保留子模板引用的標簽 -
th:replace
-- 把父模板的內(nèi)容(包括標簽)
插入到子模板引用時的標簽中,刪除子模板引用的標簽 -
th:include
(已經(jīng)不推薦使用) -- 把父模板的內(nèi)容(不包括標簽)
插入到子模板引用時的標簽中棠枉,保留子模板引用的標簽
三種引用方式的例子
-
父模板
<footer th:fragment="copy"> © 2011 The Good Thymes Virtual Grocery </footer>
-
子模板
-
th:insert
<body> <div th:insert="footer :: copy"></div> </body>
效果
<div> <footer> © 2011 The Good Thymes Virtual Grocery </footer> </div>
-
th:replace
<body> <div th:replace="footer :: copy"></div> </body>
效果
<footer> © 2011 The Good Thymes Virtual Grocery </footer>
-
th:include
<body> <div th:include="footer :: copy"></div> </body>
效果
<div> © 2011 The Good Thymes Virtual Grocery </div>
-