freemaker

FreeMarker是一個模板引擎,一個基於模板生成文本輸出的通用工具,使用純Java編寫,被設計用來生成HTML Web頁面,特別是基於MVC模式的應用程式。

freemarker概述

FreeMarker是一個模板引擎,一個基於模板生成文本輸出的通用工具,使用純Java編寫
FreeMarker被設計用來生成HTML Web頁面,特別是基於MVC模式的應用程式
雖然FreeMarker具有一些編程的能力,但通常由Java程式準備要顯示的數據,由FreeMarker生成頁面,通過模板顯示準備的數據(如下圖)
FreeMarker不是一個Web套用框架,而適合作為Web套用框架一個組件
FreeMarker與容器無關,因為它並不知道HTTP或Servlet;FreeMarker同樣可以套用於非Web應用程式環境
FreeMarker更適合作為Model2框架(如Struts)的視圖組件,你也可以在模板中使用JSP標記庫
FreeMarker是免費的

功能與目標

能夠生成各種文本:HTML、XML、RTF、Java原始碼等等
易於嵌入到你的產品中:輕量級;不需要Servlet環境
外掛程式式模板載入器:可以從任何源載入模板,如本地檔案、資料庫等等
你可以按你所需生成文本:保存到本地檔案;作為Email傳送;從Web應用程式傳送它返回給Web瀏覽器

模板語言

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

通用數據模型

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

Web使用準備

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

智慧型的國際化和本地化

字元集智慧型化(內部使用UNICODE)
數字格式本地化敏感
日期和時間格式本地化敏感
非US字元集可以用作標識(如變數名)
多種不同語言的相同模板

XML處理

<#recurse> 和<#visit>指令(2.3版本)用於遞歸遍歷XML樹
在模板中清楚和直覺的訪問XML對象模型

相關詞條

相關搜尋

熱門詞條

聯絡我們