如何針對Thymeleaf模板抽取公共頁面


對於公共頁面(導航欄nav、頁頭head、頁尾footer)的抽取有三種方式:
        1)基於iframe進行抽取,這種方式很有效,但比較老了,另外為了頁面的自適應性,還得做不少工作;
        2)如果是jsp頁面,則可以通過<%@ include file="head.jsp"%>進行抽取;
        3)利用ajax進行頁面加載,但有不少問題。
       基於Springboot后台開發框架,JSP雖然還是可以用,但已經強烈推薦使用Thymeleaf模板了,這個時候問題就來了,Thymeleaf模板是html頁面,又不想通過iframe或者ajax的方式,那我們該如何做?
       其實,Thymeleaf已經給我們提供了極好的方式,並且不僅僅是頁面,還可以對樣式CSS、Javascript進行抽取。
       使用Thymeleaf模板的 th:replace、th:includeth:insert屬性,借助th:fragment屬性來實現。
th:replace----不保留自己的主標簽,保留th:fragment的主標簽
th:include----保留自己的主標簽,不保留th:fragment的主標簽
th:insert----保留自己的主標簽,也保留th:fragment的主標簽
1、公共抽取部分的頁面定義,如mycommon.html

 

 說明:
1)<head th:fragment="commonHeader(title)">
<title th:text="${title}"></title>其中的${title},這樣頁面的標題就靈活了。
2)一般在頁面頭部引入CSS,而在頁尾引入JS,這樣保證頁面出現在用戶面前樣式就已經加載,提高用戶體驗
2、在具體頁面中引入公共部分,如mydemo.html

說明:
th:replace,include,th:insert三者的使用形式皆如:th:include="模板路徑::id"

WEB項目開發中碰到的問題千奇百怪,大家想了解對如何快速的掌握Spring Boot,可以參見視頻:

51CTO:Spring Boot+Bootstrap開發小而完整web項目
騰訊課堂:Spring Boot+Bootstrap開發小而完整web項目
CSDN學院:Spring Boot+Bootstrap開發小而完整web項目
網易雲課堂:Spring Boot+Bootstrap開發小而完整web項目

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM