1. 程式人生 > >對Thymeleaf的一些籠統介紹和理解

對Thymeleaf的一些籠統介紹和理解

良好的 let serve 模板 方式 系列 希望 現在 溢出

(隨手記錄的,,可能沒那麽易看,sorry le)

先大概介紹一下關於Thymeleaf的概念和理解:首先Thymeleaf模板引擎(換句話說他是現代服務器端的Java模板引擎,)

他所對應的主要作用(因為也是剛剛了接所以可能不會介紹的很周全),其實無非也就和之前所對應的jsp的作用方式是類似的,

因為jsp在某種程度上也是一種所對應的模板引擎,而jsp和Thymeleaf不同的地方,在某種程度上也就是,jsp對一些事物支持力度不高,

如HTML5的一些屬性在jsp中是不能正常使用的,二,也就是jsp所對應的前後端分離的程度不夠高,因為相信所有人也都知道,

jsp的設置初衷,或者jsp的設計原理是需要追述為servlet時代的,而jsp的出現在當時也的確是很實用的頁面顯示方式

(我覺得是這樣的,O(∩_∩)O~~),所以jsp並非是直接支持html的語法格式的等等,jsp在生成的過程當中會生成為所對應的servlet類

,然後servlet中利用response等特定將所對應的標簽等進行輸出,如:response.getWrite().write().等等,,所以僅以此進行比較的話,

那麽的確在前後端的數據顯示分離上,的確是沒有現在的一些大多數的後端引擎效果好些,相比對於如:jsp頁面不能直接進行瀏覽器展示

,一定要與服務器進行配合才能展示數據等,而Thymeleaf呢則是可以直接打開html文件,進行前端的效果查看啊等等,

(其實從他們兩個的實現原理上來說的話,一些優缺點阿等等,其實是完全沒有對比性的,我覺得。。哈哈

,因為設計方式和設計初衷wo覺得其實也是不一樣的,jsp的設計初衷是為了可以和後端所對應的作用域的數據bean等等進行數據顯示和輸出

,在設計之初我覺得這已經是很節省開發時間和成本的問題了吧,當時對於前後端使用json進行數據傳輸,也不知道流行沒有,。。

而Thymeleaf的設計初衷出了解決數據bean的顯示等問題外,對於html也有很好的支持),然後再簡單提一下Thymeleaf的解析方式,

其實對於Thymeleaf的一些作用上述的話也簡單提到了和jsp的一些作用是類似的,所以Thymeleaf的解決方式也是實現作用域中的bean的數據展示

,邏輯判斷,以及循環等簡單作用,除此之外還有類似於jsp的include的包含等功能,在Thymeleaf中又叫做(模板的定義和模板的引用)等,

(對於Thymeleaf的一些使用語法和方式等,可能會在後續學習記憶中重新再整理等,除了對於數據的解析等方式之外,

Thymeleaf 除了所對應的應支持的作用外,不同於其余引擎的地方則是,Thymeleaf對html的支持則是十分良好的,

Thymeleaf的語法是在html上直接書寫的,(旁邊好吵.........)對於前後端數據分離效果較好,即對於前段的html頁面可以直接打開顯示前臺內容

,當和服務器進行交接後所對應的th標簽接收的內容則將會所對應的html標簽內容替換,這點的話對於前後端的數據分離支持較好

,而jsp的話默認情況下在瀏覽器打開可能就是沒有一點效果的,這點不多做解釋了(*^__^*) ...除此之外呢,

要提到的就是JSP是基於servet進行數據解析轉換形成的html,而!Thymeleaf則是將所對應的指定顯示文件以DOM的形式讀取為xml等並進行數據的

解析和賦值後再重新映射到瀏覽器的,所以Thymeleaf對於Html頁面的標簽等如</>閉合標簽等的要求較為嚴格,

並且對與HTML頁面較為復雜的情況使用Thymeleaf作為模板引擎則將會消耗較大的jvm內存空間

(理論上的確是將會消耗過多的JVM的內存空間吧~理論上應該的確是的~~哈哈)

所以對於較復雜的HTML頁面的情況使用Thymeleaf作為模板引擎的話,官方介紹似乎是並不希望這樣去做,

那麽可能所對應的一系列問題可能也就迎刃而解了,比如什麽將可能會造成堆內存異常,溢出,渲染速度性能降低了等等。

當然對於Thymeleaf也有很多好用的功能,除了上述所提到的以外還包含表單驗證了,等等,

以及網上也有很大拿Thymeleaf和beetl等做性能對比的測試,這一點就不多作評論了,,哈哈

睡覺~lou嘍先

對Thymeleaf的一些籠統介紹和理解