摘要:介紹簡單說,是一個(gè)跟類似的模板引擎,它可以完全替代。不包含標(biāo)記刪除但刪除其所有的孩子。公眾號(hào)回復(fù)全棧,領(lǐng)取前端,,產(chǎn)品經(jīng)理,微信小程序,等資源合集大放送。公眾號(hào)回復(fù)面試,領(lǐng)取面試實(shí)戰(zhàn)學(xué)習(xí)資源。
thymeleaf介紹
簡單說, Thymeleaf 是一個(gè)跟 Velocity、FreeMarker 類似的模板引擎,它可以完全替代 JSP。相較與其他的模板引擎,它有如下三個(gè)極吸引人的特點(diǎn):
1.Thymeleaf 在有網(wǎng)絡(luò)和無網(wǎng)絡(luò)的環(huán)境下皆可運(yùn)行,即它可以讓美工在瀏覽器查看頁面的靜態(tài)效果,也可以讓程序員在服務(wù)器查看帶數(shù)據(jù)的動(dòng)態(tài)頁面效果。這是由于它支持 html 原型,然后在 html 標(biāo)簽里增加額外的屬性來達(dá)到模板+數(shù)據(jù)的展示方式。瀏覽器解釋 html 時(shí)會(huì)忽略未定義的標(biāo)簽屬性,所以 thymeleaf 的模板可以靜態(tài)地運(yùn)行;當(dāng)有數(shù)據(jù)返回到頁面時(shí),Thymeleaf 標(biāo)簽會(huì)動(dòng)態(tài)地替換掉靜態(tài)內(nèi)容,使頁面動(dòng)態(tài)顯示。 2.Thymeleaf 開箱即用的特性。它提供標(biāo)準(zhǔn)和spring標(biāo)準(zhǔn)兩種方言,可以直接套用模板實(shí)現(xiàn)JSTL、 OGNL表達(dá)式效果,避免每天套模板、該jstl、改標(biāo)簽的困擾。同時(shí)開發(fā)人員也可以擴(kuò)展和創(chuàng)建自定義的方言。 3.Thymeleaf 提供spring標(biāo)準(zhǔn)方言和一個(gè)與 SpringMVC 完美集成的可選模塊,可以快速的實(shí)現(xiàn)表單綁定、屬性編輯器、國際化等功能。標(biāo)準(zhǔn)表達(dá)式語法
它們分為四類:
1.變量表達(dá)式 2.選擇或星號(hào)表達(dá)式 3.文字國際化表達(dá)式 4.URL表達(dá)式變量表達(dá)式
變量表達(dá)式即OGNL表達(dá)式或Spring EL表達(dá)式(在Spring術(shù)語中也叫model attributes)。如下所示:
${session.user.name}
它們將以HTML標(biāo)簽的一個(gè)屬性來表示:
選擇(星號(hào))表達(dá)式
選擇表達(dá)式很像變量表達(dá)式,不過它們用一個(gè)預(yù)先選擇的對(duì)象來代替上下文變量容器(map)來執(zhí)行,如下:
*{customer.name}
被指定的object由th:object屬性定義:
文字國際化表達(dá)式... ... ...
文字國際化表達(dá)式允許我們從一個(gè)外部文件獲取區(qū)域文字信息(.properties),用Key索引Value,還可以提供一組參數(shù)(可選).
#{main.title} #{message.entrycreated(${entryId})}
可以在模板文件中找到這樣的表達(dá)式代碼:
... | ... | ...
---|
URL表達(dá)式指的是把一個(gè)有用的上下文或回話信息添加到URL,這個(gè)過程經(jīng)常被叫做URL重寫。
@{/order/list}
URL還可以設(shè)置參數(shù):
@{/order/details(id=${orderId})}
相對(duì)路徑:
@{../documents/report}
讓我們看這些表達(dá)式:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/77592.html
摘要:是一個(gè)基于的模板引擎。模板中未被定義的變量將被認(rèn)為是一個(gè)字符串。公眾號(hào)回復(fù)全棧,領(lǐng)取前端,,產(chǎn)品經(jīng)理,微信小程序,等資源合集大放送。公眾號(hào)回復(fù)面試,領(lǐng)取面試實(shí)戰(zhàn)學(xué)習(xí)資源。 Velocity是一個(gè)基于java的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java代碼定義的對(duì)象。 當(dāng)Velocity應(yīng)用于web...
摘要:數(shù)據(jù)和信息是不可分離的,數(shù)據(jù)是信息的表達(dá),信息是數(shù)據(jù)的內(nèi)涵。數(shù)據(jù)本身沒有意義,數(shù)據(jù)只有對(duì)實(shí)體行為產(chǎn)生影響時(shí)才成為信息。主要目標(biāo)是為開發(fā)提供天然的模板,并且能在里面準(zhǔn)確的顯示。目前是自然更加推薦。 這是泥瓦匠的第105篇原創(chuàng) 文章工程: JDK 1.8 Maven 3.5.2 Spring Boot 2.1.3.RELEASE 工程名:springboot-webflux-4-thym...
摘要:頁面內(nèi)容展示在之前的示例中,我們都是通過來處理請(qǐng)求,所以返回的內(nèi)容為對(duì)象。啟動(dòng)程序后,訪問。運(yùn)行項(xiàng)目,輸入項(xiàng)目地址再次查看頁面顯示內(nèi)容,內(nèi)容被替換了。默認(rèn)情況下,它排第一位。 Web頁面內(nèi)容展示 在之前的示例中,我們都是通過@RestController來處理請(qǐng)求,所以返回的內(nèi)容為json對(duì)象。我們現(xiàn)在需要實(shí)現(xiàn)更復(fù)雜的頁面顯示,就需要用到模板引擎來幫我實(shí)現(xiàn)了。 Spring Boot默...
閱讀 3693·2021-09-07 09:59
閱讀 745·2019-08-29 15:12
閱讀 833·2019-08-29 11:14
閱讀 1336·2019-08-26 13:27
閱讀 2698·2019-08-26 10:38
閱讀 3168·2019-08-23 18:07
閱讀 1303·2019-08-23 14:40
閱讀 1948·2019-08-23 12:38