什么是FreeMarker?
FreeMarker 是一个模版引擎,一个基于文本的模板输出工具(生成任意的HTML表单代码)。它是一个Java package,面向Java程序员的class library。它本身并不是针对最终用户的应用,而是允许程序员将其嵌入到他们的产品中。
FreeMarker被设计用来生成HTML Web页面,特别是基于MVC(Model View Controller)模式的应用程序。使用 MVC 模式作为动态的WEB页面的想法,是为了分隔页面设计者 (HTML 设计者) 和程序员。.每个人做自己擅长的那一部分。设计者可以不通过程序员的改变或修改代码来改变网页的样子,因为应用逻辑(Java程序)和页面设计(FreeMarker 模版)是分开的。模板不会被复杂繁琐的程序框架所破坏。即使当一个项目的程序员和HIMTL页面的制作者是同一个人时,这种分隔也是很有用,因为这样有助于保持应用的清晰并易于维护。
尽管FreeMarker有一些编程的能力,但它并不是一个象PHP那样的成熟的编程语言。与Java不同的是,Java程序准备用来显示的数据(如SQL queries),而Freemarker仅是生成文本页,这个文本页显示用于模板的预备数据。
FreeMarker 不是一个 Web 应用框架,而更适合充当 Web 应用框架里的一个组件的角色,但 FreeMarker 引擎本身对 HTTP 或 servlets 并不关心,它仅仅是生成文本。在非 Web 应用环境中它同样能够展示完美的用途。然而值得注意的是:我们为使用 FreeMarker 提供了方便的解决方案,作为 Model2 框架(如 Struts )的视图组件,你也可以在模版中使用 JSP 标签。
FreeMarker 是免费的,有 BSD-style license 。它是由 OSI 认证的开源软件。
注释:
1 .什么是 Servlet
Servlet 是用 Java 编写的 Server 端程序,它与协议和平台无关。 Servlet 运行于 Java - enabled Web Server 中。 Java Servlet 可以动态地扩展 Server 的能力,并采用请求-响应模式提供 Web 服务。
最早支持 Servlet 技术的是 JavaSoft 的 Java Web Server 。此后,一些其它的基于 Java 的 Web Server 开始支持标准的 Servlet API 。 Servlet 的主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。
Servlet 是用 Java 编写的 Server 端程序,它与协议和平台无关。 Servlet 运行于 Java - enabled Web Server 中。 Java Servlet 可以动态地扩展 Server 的能力,并采用请求-响应模式提供 Web 服务。
最早支持 Servlet 技术的是 JavaSoft 的 Java Web Server 。此后,一些其它的基于 Java 的 Web Server 开始支持标准的 Servlet API 。 Servlet 的主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。