FreeMarker 教程

FreeMarker 是一款模板引擎:一種基于模板的、用來生成輸出文本(任何來自于 HTML格式的文本用來自動生成源代碼)的通用工具。它是為 Java 程序員提供的一個開發包或者說是類庫。它不是面向最終用戶,而是為程序員提供的可以嵌入他們開發產品的一款應用程序。

FreeMarker 的設計實際上是被用來生成 HTML 網頁,尤其是通過基于實現了 MVC(ModelView Controller,模型-視圖-控制器)模式的 Servlet 應用程序。使用 MVC 模式的動態網頁的構思使得你可以將前端設計者(編寫 HTML)從程序員中分離出來。所有人各司其職,發揮其擅長的一面。網頁設計師可以改寫頁面的顯示效果而不受程序員編譯代碼的影響,因為應用程序的邏輯(Java 程序)和頁面設計(FreeMarker 模板)已經分開了。頁面模板代碼不會受到復雜的程序代碼影響。這種分離的思想即便對一個程序員和頁面設計師是同一個人的項目來說都是非常有用的,因為分離使得代碼保持簡潔而且便于維護。

盡管 FreeMarker 也有編程能力,但它也不是像 PHP 那樣的一種全面的編程語言。反而,Java 程序準備的數據來顯示(比如 SQL 查詢),FreeMarker 僅僅使用模板生成文本頁面來呈現已經準備好的數據。

FreeMarker 不是 Web 應用框架。它是 Web 應用框架中的一個適用的組件,但是FreeMarker 引擎本身并不知道 HTTP 協議或 Servlet。它僅僅來生成文本。即便這樣,它也非常適用于非 Web 應用環境的開發。要注意的是,我們使用 FreeMarker 作為視圖層組件,是為給如 Struts,SpringMvc等 這樣的 Model 2 框架提供現成的解決方案。

總結:Freemarker 是做為 View 層使用,可以作為替代 jsp 的模版式 View 組件。