天天看點

《SSM架構實戰》 整合 Freemarker

FreeMarker是一款模闆引擎: 即一種基于模闆和要改變的資料, 并用來生成輸出文本(HTML網頁、電子郵件、配置檔案、源代碼等)的通用工具。 它不是面向最終使用者的,而是一個Java類庫,是一款程式員可以嵌入他們所開發産品的元件。

FreeMarker是免費的,基于Apache許可證2.0版本釋出。其模闆編寫為FreeMarker Template Language(FTL),屬于簡單、專用的語言。需要準備資料在真實程式設計語言中來顯示,比如資料庫查詢和業務運算, 之後模闆顯示已經準備好的資料。在模闆中,主要用于如何展現資料, 而在模闆之外注意于要展示什麼資料。

《SSM架構實戰》 整合 Freemarker

1、不能編寫java代碼,可以實作嚴格的mvc分離

2、性能非常不錯

3、對jsp标簽支援良好

4、内置大量常用功能,使用非常友善

5、宏定義(類似jsp标簽)非常友善

6、使用表達式語言

1、不是官方标準

2、使用者群體和第三方标簽庫沒有jsp多

1、性能。velocity應該是最好的,其次是jsp,普通的頁面freemarker性能最差(雖然隻是幾毫秒到十幾毫秒的差距)。但是在複雜頁面上(包含大量判斷、日期金額格式化)的頁面上,freemarker的性能比使用tag和el的jsp好。

2、宏定義比jsp tag友善

3、内置大量常用功能。比如html過濾,日期金額格式化等等,使用非常友善

4、支援jsp标簽

5、可以實作嚴格的mvc分離

6、易學易用 

我是看了一天文檔就用得挺熟練了,freemarker文檔寫得太好了,例子豐富,照做一遍全都會了。 

7、功能強大

比Velocity強大多了,還支援JSP Tag。不過最有意義的是macro功能,可以自定義常用的macro,實作頁面正常操作的可複用性。 

8、報錯資訊友好

很多應用伺服器的JSP報錯資訊是無法定位到源代碼行的。不過freemarker報錯定位很準确,絲毫不差,而且資訊豐富,一看就知道怎麼回事(雖然那個黃黃的頁面看起來讓人難受)

與JSP相比,FreeMarker的一個優點在于不能輕易突破模闆語言開始編寫Java代碼,是以降低了領域邏輯漏進視圖層的危險幾率。但缺點是需要一點附加配置來将其平穩地內建到應用程式中,一些IDE(內建開發環境)可能并不完全支援它,當然還有開發者或設計者也許需要學習一門陌生的模闆語言。相關的JAR檔案将要添加到WEB-INF/lib(在需要的時候,它們包含在Spring中) 。

1、添加依賴包,在 pom.xml 檔案中的;

dependencies

節點下加入

2、web.xml 檔案配置不需要更改;

3、在 spring-mvc.xml 中添加配置,有人可能習慣用 applicationContext.xml,這個檔案名具體用什麼是在 web.xml 中指定的;

注意 template_update_delay 的配置,我這裡使用 0 是因為在開發過程中經常需要修改測試,防止緩存;否則的話每次修改模闆都需要重新開機或等待逾時後才會使用修改後的模闆内容,非常不友善測試!

<a target="_blank" href="http://freemarker.org/">Freemarker官網</a>

<a target="_blank" href="http://blog.csdn.net/tjcyjd/article/details/16803877">淺談jsp、freemarker、velocity差別</a>

<a target="_blank" href="http://blog.csdn.net/yakson/article/details/9813531">Spring MVC 整合 Freemarker</a>