FreeMarker:Java模板引擎

FreeMarker 是一個模板引擎,一個基於模板生成文本輸出的通用工具,使用純Java編寫。FreeMarker被設計用來生成HTML Web頁面,特別是基於MVC模式的應用程序。雖然FreeMarker具備一些編程的能力,但一般由Java程序準備要顯示的數據,由FreeMarker生成頁面,經過模板顯示準備的數據 。html

freemarker

FreeMarker不是一個Web應用框架,而適合做爲Web應用框架一個組件git

FreeMarker與容器無關,由於它並不知道HTTP或Servlet;FreeMarker一樣能夠應用於非Web應用程序環境程序員

FreeMarker更適合做爲Model2框架(如Struts)的視圖組件,你也能夠在模板中使用JSP標記庫github

FreeMarker是免費的數據庫

並且你還能夠經過Eclipse的插件來編輯FreeMarker,通過驗證,FreeMarker 最好的 Eclipse 編輯插件是 JBoss Tools。apache

FreeMarker特性編程

一、通用目標api

可以生成各類文本:HTML、XML、RTF、Java源代碼等等
易於嵌入到你的產品中:輕量級;不須要Servlet環境
插件式模板載入器:能夠從任何源載入模板,如本地文件、數據庫等等
你能夠按你所需生成文本:保存到本地文件;做爲Email發送;從Web應用程序發送它返回給Web瀏覽器瀏覽器

二、強大的模板語言框架

全部經常使用的指令:include、if/elseif/else、循環結構
在模板中建立和改變變量
幾乎在任何地方均可以使用複雜表達式來指定值
命名的宏,能夠具備位置參數和嵌套內容
名字空間有助於創建和維護可重用的宏庫,或者將一個大工程分紅模塊,而沒必要擔憂名字衝突
輸出轉換塊:在嵌套模板片斷生成輸出時,轉換HTML轉義、壓縮、語法高亮等等;你能夠定義本身的轉換

三、通用數據模型

FreeMarker不是直接反射到Java對象,Java對象經過插件式對象封裝,以變量方式在模板中顯示
你能夠使用抽象(接口)方式表示對象(JavaBean、XML文檔、SQL查詢結果集等等),告訴模板開發者使用方法,使其不受技術細節的打擾

四、爲Web準備

在模板語言中內建處理典型Web相關任務(如HTML轉義)的結構
可以集成到Model2 Web應用框架中做爲JSP的替代
支持JSP標記庫
爲MVC模式設計:分離可視化設計和應用程序邏輯;分離頁面設計員和程序員

五、智能的國際化和本地化

字符集智能化(內部使用UNICODE)
數字格式本地化敏感
日期和時間格式本地化敏感
非US字符集能夠用做標識(如變量名)
多種不一樣語言的相同模板

六、強大的XML處理能力
和指令(2.3版本)用於遞歸遍歷XML樹
在模板中清楚和直覺的訪問XML對象模型

資源:

 

官方網站:http://freemarker.incubator.apache.org
開源地址:https://github.com/apache/incubator-freemarker-site

from: http://hao.jobbole.com/freemarker/

相關文章
相關標籤/搜索