FreeMarker被設(shè)計(jì)用來(lái)生成HTML Web頁(yè)面,特別是基于MVC(Model View Controller)模式的應(yīng)用程序。使用 MVC 模式作為動(dòng)態(tài)的WEB頁(yè)面的想法,是為了分隔頁(yè)面設(shè)計(jì)者 (HTML 設(shè)計(jì)者) 和程序員。.每個(gè)人做自己擅長(zhǎng)的那一部分。設(shè)計(jì)者可以不通過(guò)程序員的改變或修改代碼來(lái)改變網(wǎng)頁(yè)的樣子,因?yàn)閼?yīng)用邏輯(Java程序)和頁(yè)面設(shè)計(jì)(FreeMarker 模版)是分開(kāi)的。模板不會(huì)被復(fù)雜繁瑣的程序框架所破壞。即使當(dāng)一個(gè)項(xiàng)目的程序員和HIMTL頁(yè)面的制作者是同一個(gè)人時(shí),這種分隔也是很有用,因?yàn)檫@樣有助于保持應(yīng)用的清晰并易于維護(hù)。
盡管FreeMarker有一些編程的能力,但它并不是一個(gè)象PHP那樣的成熟的編程語(yǔ)言。與Java不同的是,Java程序準(zhǔn)備用來(lái)顯示的數(shù)據(jù)(如SQL queries),而Freemarker僅是生成文本頁(yè),這個(gè)文本頁(yè)顯示用于模板的預(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)證的開(kāi)源軟件。
?
?
?
注釋:
1
.什么是
Servlet
Servlet 是用 Java 編寫(xiě)的 Server 端程序,它與協(xié)議和平臺(tái)無(wú)關(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 開(kāi)始支持標(biāo)準(zhǔn)的 Servlet API 。 Servlet 的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動(dòng)態(tài) Web 內(nèi)容。
來(lái)源:http://blog.csdn.net/microrain/archive/2006/08/26/1124390.aspx
Servlet 是用 Java 編寫(xiě)的 Server 端程序,它與協(xié)議和平臺(tái)無(wú)關(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 開(kāi)始支持標(biāo)準(zhǔn)的 Servlet API 。 Servlet 的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動(dòng)態(tài) Web 內(nèi)容。
來(lái)源:http://blog.csdn.net/microrain/archive/2006/08/26/1124390.aspx
馬嘉楠
jianan.ma@gmail.com