基本簡介
FreeMarker是一款模板引擎: 即一種基于模板和要改變的數(shù)據(jù),并用來生成輸出文本(HTML網(wǎng)頁、電子郵件、配置文件、源代碼等)的通用工具。它不是面向最終用戶的,而是一個Java類庫,是一款程序員可以嵌入他們所開發(fā)產(chǎn)品的組件。
軟件特色
1. 通用性
能夠生成各種文本:HTML、XML、RTF、Java源代碼等等。
易于嵌入到產(chǎn)品中:輕量級;不需要Servlet環(huán)境。
插件式模板載入器:可以從任何源載入模板,如本地文件、數(shù)據(jù)庫等等。
可以按所需生成文本:保存到本地文件;作為Email發(fā)送;從Web應用程序發(fā)送它返回給Web瀏覽器。
2. 模板語言
所有常用的指令:include、if/elseif/else、循環(huán)結構。
在模板中創(chuàng)建和改變變量。
幾乎在任何地方都可以使用復雜表達式來指定值。
命名的宏,可以具有位置參數(shù)和嵌套內容。
名字空間有助于建立和維護可重用的宏庫,或者將一個大工程分成模塊,而不必擔心名字沖突。
輸出轉換塊:在嵌套模板片段生成輸出時,轉換HTML轉義、壓縮、語法高亮等等;可以定義自己的轉換。
3. 通用數(shù)據(jù)模型
FreeMarker不是直接反射到Java對象,Java對象通過插件式對象封裝,以變量方式在模板中顯示。
可以使用抽象(接口)方式表示對象(JavaBean、XML文檔、SQL查詢結果集等等),告訴模板開發(fā)者使用。方法,使其不受技術細節(jié)的打擾。
4. 為Web準備
在模板語言中內建處理典型Web相關任務(如HTML轉義)的結構。
能夠集成到Model2 Web應用框架中作為JSP的替代。
支持JSP標記庫。
為MVC模式設計:分離可視化設計和應用程序邏輯;分離頁面設計員和程序員。
5. 智能的國際化和本地化
字符集智能化(內部使用UNICODE)。
數(shù)字格式本地化敏感。
日期和時間格式本地化敏感。
非US字符集可以用作標識(如變量名)。
多種不同語言的相同模板。
6. XML處理能力
<#recurse> 和<#visit>指令(2.3版本)用于遞歸遍歷XML樹。
在模板中清楚和直接的訪問XML對象模型 。
您的評論需要經(jīng)過審核才能顯示
有用
有用
有用