一、Freemarker模板的文件後綴名
二、Freemarker實際上是一種比較簡單的網頁展現技術,說白了就是網頁模板和數據模型的結合體。這種結合模式的好處就是,分離了網頁
界面設計人員和編程人員的工做,讓他們各司其職。
據我的理解,Freemarker大體的工做方式是,網頁模板裏面嵌入了數據模型中的數據、Freemarker自定義流程控制語言、Freemarker自定義的操做函數等等,在裝載網頁的時候,Freemarker模板自動從數據模型中提取數據,並解釋整個網頁爲咱們熟知的HTML頁面。
在B/S程式設計中,經常有美工和程序員二個角色,他們具備不一樣專業技能:美工專一於表現——建立頁面、風格、佈局、效果等等可視元素;而程序員則忙於建立程式的商業流程,生成設計頁面要顯示的數據等等。
不少時候,要顯示的資料在設計的時候並不存在,它們通常是在運行時由程式產生的,好比執行「價格不高於800NT的USB Disk」查詢的返回結果。這種技術需求產生了JSP等Scriptlet,JSP十分強大,可是也經常被濫用,並致使一些不良的後果,將邏輯和表現混合在一塊兒。,破壞了美工和程序員職責的正常分解使JSP頁面難以閱讀和維護。
模板引擎就是爲了解決上面的問題而產生的。在設計HTML的時候,咱們加入一些特定指令來指定要插入哪些數據,這些加了特殊指令的HTML或者其餘文本,咱們稱爲模板(Template)。而
模板引擎會在輸出頁面時,用適當的數據替代這些代碼
模板和嵌入JSP的HTML是不一樣的,模板指令只有頗有限的編程能力,能夠避免混入商業邏輯。
總結
簡單的說,FreeMarker就是一種用Java編寫的
模板引擎,它根據模板輸出多種規格的文本。特別指出的是,FreeMarker與Web應用框架無關,它一樣能夠應用在非Web應用程序環境中,並且,FreeMarker並非只能生成HTML頁面,它也能夠生成各類文本,如XML/RTF/Java源代碼等。
Freemarker是一個很是優秀的模版引擎,這個模版引擎可用於任何場景,FreeMarker負責將數據模型中的數據合併到模版中,從而生成標準輸出。
FreeMarker特別適應與MVC模式的Web應用,一般有Java程序準備要顯示的數據,由FreeMarker模版引擎來生成頁面,而FreeMarker模版則提供
頁面佈局支持,從而能更好地規範MVC架構,保證視圖邏輯和業務邏輯分離。