FreeMarker 是一個(gè)模版引擎,一個(gè)基于文本的模板輸出工具(生成任意的HTML表單代碼)。它是一個(gè)Java package,面向Java程序員的class library。它本身并不是針對(duì)最終用戶的應(yīng)用,而是允許程序員將其嵌入到他們的產(chǎn)品中。
FreeMarker被設(shè)計(jì)用來生成HTML Web頁面,特別是基于MVC(Model View Controller)模式的應(yīng)用程序。使用 MVC 模式作為動(dòng)態(tài)的WEB頁面的想法,是為了分隔頁面設(shè)計(jì)者 (HTML 設(shè)計(jì)者) 和程序員。.每個(gè)人做自己擅長的那一部分。設(shè)計(jì)者可以不通過程序員的改變或修改代碼來改變網(wǎng)頁的樣子,因?yàn)閼?yīng)用邏輯(Java程序)和頁面設(shè)計(jì)(FreeMarker 模版)是分開的。模板不會(huì)被復(fù)雜繁瑣的程序框架所破壞。即使當(dāng)一個(gè)項(xiàng)目的程序員和HIMTL頁面的制作者是同一個(gè)人時(shí),這種分隔也是很有用,因?yàn)檫@樣有助于保持應(yīng)用的清晰并易于維護(hù)。
盡管FreeMarker有一些編程的能力,但它并不是一個(gè)象PHP那樣的成熟的編程語言。與Java不同的是,Java程序準(zhǔn)備用來顯示的數(shù)據(jù)(如SQL queries),而Freemarker僅是生成文本頁,這個(gè)文本頁顯示用于模板的預(yù)備數(shù)據(jù)。
FreeMarker
不是一個(gè)
Web
應(yīng)用框架,而更適合充當(dāng)
Web
應(yīng)用框架里的一個(gè)組件的角色,但
FreeMarker
引擎本身對(duì)
HTTP
或
servlets
并不關(guān)心,它僅僅是生成文本。在非
Web
應(yīng)用環(huán)境中它同樣能夠展示完美的用途。然而值得注意的是:我們?yōu)槭褂?/span>
FreeMarker
提供了方便的解決方案,作為
Model2
框架(如
Struts
)的視圖組件,你也可以在模版中使用
JSP
標(biāo)簽。
FreeMarker
是免費(fèi)的,有
BSD-style license
。它是由
OSI
認(rèn)證的開源軟件。
?
?
?
注釋:
1
.什么是
Servlet
Servlet
是用
Java
編寫的
Server
端程序,它與協(xié)議和平臺(tái)無關(guān)。
Servlet
運(yùn)行于
Java
-
enabled Web Server
中。
Java Servlet
可以動(dòng)態(tài)地?cái)U(kuò)展
Server
的能力,并采用請(qǐng)求-響應(yīng)模式提供
Web
服務(wù)。
最早支持
Servlet
技術(shù)的是
JavaSoft
的
Java Web Server
。此后,一些其它的基于
Java
的
Web Server
開始支持標(biāo)準(zhǔn)的
Servlet API
。
Servlet
的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動(dòng)態(tài)
Web
內(nèi)容。
來源:http://blog.csdn.net/microrain/archive/2006/08/26/1124390.aspx
馬嘉楠
jianan.ma@gmail.com
posted on 2006-08-27 15:41
馬嘉楠 閱讀(5515)
評(píng)論(0) 編輯 收藏