thymeleaf中的模板布局
一.包括模板片段:
1:定義和引用片段,我們經(jīng)常會(huì)想要包含在模板片段來(lái)自其他模板。常見(jiàn)的用途是頁(yè)腳、標(biāo)題、菜單…;
為了做到這一點(diǎn),Thymeleaf需要我們定義包含可用的片段,我們可以通過(guò)使用th:fragment屬性。
定義一個(gè)頁(yè)面底部footer頁(yè)面,在每一個(gè)需要的頁(yè)面都可以用的模板,可以通過(guò)使用th:fragment屬性
<div th:fragment="copy">© 2014 The Good Thymes Virtual Grocery</div>上面的代碼定義了一個(gè)叫做副本的片段,我們可以很容易地包含在我們的主頁(yè)上通過(guò)使用th:include?or?th:replace屬性之一:
<body>...<div th:include="footer :: copy"></div> </body>引用片段沒(méi)有th:fragment:
... <div id="copy-section">© 2011 The Good Thymes Virtual Grocery </div> ...頁(yè)面引用:th:include="templatename::domselector"
| 1 | templatename是要引入頁(yè)面的路勁加上去掉后綴的名稱,例如footer.html頁(yè)面建立在/WEB-INF/templates/footer.html,所以templatename為footer;domselector就是dom選擇器,即為th:fragment中的值,或是選擇id |
注意:
| 1 2 3 4 5 6 7 8 9 10 | 帶有公共的頁(yè)面,不要帶有 <html> ????<head></head> ????<body></body> </html> 直接寫內(nèi)容: ????<div?th:fragment="copy"> ??????? 2011 The Good Thymes Virtual Grocery ????</div> ?? |
擴(kuò)展寫法,希望能靈活運(yùn)用:
<div th:include="footer :: (${user.isAdmin}? #{footer.admin} : #{footer.normaluser})"></div>二.可參數(shù)化的片段簽名
可以像參數(shù)一樣傳入?yún)?shù):
<div th:fragment="frag (onevar,twovar)"><p th:text="${onevar} + ' - ' + ${twovar}">...</p> </div>兩種調(diào)用方式引入頁(yè)面:
<div th:include="::frag (${value1},${value2})">...</div> <div th:include="::frag (onevar=${value1},twovar=${value2})">...</div>如果沒(méi)有帶參數(shù),如下形式:
<div th:fragment="frag">... </div>依然可以使用帶參數(shù)的引入,但是必須使用第二種引入方式,另一種不行:如下是正確的引入方式
<div th:include="::frag (onevar=${value1},twovar=${value2})">這樣事實(shí)上,這將是相當(dāng)于一個(gè)th:include和th:with的組合
<div th:include="::frag" th:with="onevar=${value1},twovar=${value2}">總結(jié)
以上是生活随笔為你收集整理的thymeleaf中的模板布局的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: select下拉框兼容写法
- 下一篇: jQuery lazyload 懒加载