更新時(shí)間:2021-06-09 16:45:13 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1175次
Thymeleaf是一個(gè)現(xiàn)代服務(wù)器端Java模板引擎,適用于Web和獨(dú)立環(huán)境,能夠處理HTML,XML,JavaScript,CSS甚至純文本。
Thymeleaf的主要目標(biāo)是提供一種優(yōu)雅且高度可維護(hù)的模板創(chuàng)建方式。為實(shí)現(xiàn)這一目標(biāo),它以自然模板的概念為基礎(chǔ),將其邏輯注入模板文件,其方式不會(huì)影響模板被用作設(shè)計(jì)原型。這改善了設(shè)計(jì)溝通,縮小了設(shè)計(jì)和開(kāi)發(fā)團(tuán)隊(duì)之間的差距。
Thymeleaf也從一開(kāi)始就設(shè)計(jì)了Web標(biāo)準(zhǔn)-特別是HTML5-允許您創(chuàng)建完全驗(yàn)證的模板,如果您需要的話。
開(kāi)箱即用,Thymeleaf允許您處理六種模板,每種模板稱(chēng)為模板模式:
HTML
XML
文本
JAVASCRIPT
CSS
生的
有兩種標(biāo)記模板模式(HTML和XML),三種文本模板模式(TEXT,JAVASCRIPT和CSS)和一種無(wú)操作模板模式(RAW)。
該HTML模板模式將允許任何類(lèi)型的HTML的輸入,包括HTML5,HTML4和XHTML。不會(huì)執(zhí)行驗(yàn)證或格式良好檢查,并且將在輸出中盡可能地尊重模板代碼/結(jié)構(gòu)。
該XML模板模式將允許XML輸入。在這種情況下,代碼應(yīng)該是格式良好的-沒(méi)有未封閉的標(biāo)簽,沒(méi)有不帶引號(hào)的屬性等等-如果發(fā)現(xiàn)格式錯(cuò)誤,解析器將拋出異常。請(qǐng)注意,不會(huì)執(zhí)行驗(yàn)證(針對(duì)DTD或XML架構(gòu))。
該TEXT模板模式將允許非標(biāo)記性質(zhì)的模板使用特殊的語(yǔ)法。此類(lèi)模板的示例可能是文本電子郵件或模板文檔。請(qǐng)注意,HTML或XML模板也可以被處理TEXT,在這種情況下,它們不會(huì)被解析為標(biāo)記,并且每個(gè)標(biāo)記,DOCTYPE,注釋等都將被視為純文本。
該JAVASCRIPT模板模式將允許在Thymeleaf應(yīng)用程序的JavaScript文件的處理。這意味著能夠以與HTML文件相同的方式在JavaScript文件中使用模型數(shù)據(jù),但是使用特定于JavaScript的集成,例如專(zhuān)門(mén)的轉(zhuǎn)義或自然腳本。該JAVASCRIPT模板模式被認(rèn)為是一種文本模式,因此使用相同的特殊語(yǔ)法的TEXT模板模式。
該CSS模板模式將允許參與Thymeleaf應(yīng)用CSS文件的處理。與JAVASCRIPT模式類(lèi)似,CSS模板模式也是文本模式,并使用TEXT模板模式中的特殊處理語(yǔ)法。
該RAW模板模式將根本不處理模板。它用于將未經(jīng)處理的資源(文件,URL響應(yīng)等)插入到正在處理的模板中。例如,HTML格式的外部
Thymeleaf是一個(gè)極易擴(kuò)展的模板引擎(實(shí)際上它可以稱(chēng)為模板引擎框架),允許您定義和自定義模板處理的細(xì)節(jié)級(jí)別。
將一些邏輯應(yīng)用于標(biāo)記工件(標(biāo)簽,某些文本,注釋或僅僅是占位符,如果模板不是標(biāo)記)的對(duì)象稱(chēng)為處理器,這些處理器的集合-加上可能還有一些額外的工件-是什么一個(gè)方言通常是由。開(kāi)箱即用,Thymeleaf的核心庫(kù)提供了一種稱(chēng)為標(biāo)準(zhǔn)方言的方言,對(duì)大多數(shù)用戶來(lái)說(shuō)應(yīng)該足夠了。
請(qǐng)注意,方言實(shí)際上可以沒(méi)有處理器,并且完全由其他類(lèi)型的工件組成,但處理器絕對(duì)是最常見(jiàn)的用例。
本教程涵蓋標(biāo)準(zhǔn)方言。您將在以下頁(yè)面中了解的每個(gè)屬性和語(yǔ)法功能都由此方言定義,即使未明確提及。
當(dāng)然,如果用戶希望在利用庫(kù)的高級(jí)功能的同時(shí)定義自己的處理邏輯,則可以創(chuàng)建自己的方言(甚至擴(kuò)展標(biāo)準(zhǔn)方言)。Thymeleaf也可以配置為一次使用多種方言。
官方的thymeleaf-spring3和thymeleaf-spring4集成包都定義了一種稱(chēng)為“SpringStandard方言”的方言,它與標(biāo)準(zhǔn)方言大致相同,但是為了更好地利用Spring框架中的某些功能(例如) ,使用Spring Expression Language或SpringEL代替OGNL)。因此,如果您是Spring MVC用戶,那么您不會(huì)浪費(fèi)時(shí)間,因?yàn)槟诖颂帉W(xué)習(xí)的幾乎所有內(nèi)容都將在Spring應(yīng)用程序中使用。
標(biāo)準(zhǔn)方言的大多數(shù)處理器都是屬性處理器。這使得瀏覽器甚至可以在處理之前正確顯示HTML模板文件,因?yàn)樗鼈冎粫?huì)忽略其他屬性。例如,雖然使用標(biāo)記庫(kù)的JSP可能包含不能由瀏覽器直接顯示的代碼片段,例如:
<form:inputText name=“userName” value="${user.name}" />
…Thymeleaf Standard Dialect將允許我們實(shí)現(xiàn)相同的功能:
這不僅可以被瀏覽器正確顯示,而且還允許我們(可選地)在其中指定值屬性(在這種情況下為“James Carrot”),當(dāng)在瀏覽器中靜態(tài)打開(kāi)原型時(shí)將顯示該屬性,并且這將由${user.name}在處理模板期間評(píng)估得到的值代替。
這有助于您的設(shè)計(jì)人員和開(kāi)發(fā)人員處理相同的模板文件,并減少將靜態(tài)原型轉(zhuǎn)換為工作模板文件所需的工作量。執(zhí)行此操作的能力是稱(chēng)為自然模板的功能。
以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"Thymeleaf是什么",希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專(zhuān)業(yè)老師隨時(shí)為您服務(wù)。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743