Apache FreeMarkerJava 模板引擎
Apache FreeMarker 是一个模板引擎:一个基于模板和变化数据生成文本输出(HTML网页、电子邮件、配置文件、源代码等)的Java库。模板是用FreeMarker模板语言(FTL)编写的,它是一种简单的、专门的语言(不是像PHP那样的全面的编程语言)。通常,一个通用的编程语言(如Java)被用来准备数据(发出数据库查询,进行商业计算)。然后,Apache FreeMarker使用模板显示这些准备好的数据。在模板中,你关注的是如何呈现数据,而在模板外,你关注的是要呈现什么数据。
这种方法通常被称为MVC(模型-视图-控制器)模式,在动态网页中特别流行。它有助于将网页设计者(HTML作者)和开发者(通常是Java程序员)分开。设计师不会面对模板中复杂的逻辑,可以改变页面的外观而不需要程序员改变或重新编译代码。
虽然FreeMarker最初是为在MVC网络应用程序框架中生成HTML页面而创建的,但它并不拘泥于servlets或HTML或任何与网络有关的东西。它也可用于非网络应用环境。
特性:
- 强大的模板语言:条件块、迭代、赋值、字符串和算术运算和格式化、宏和函数、包括其他模板、默认转义(可选),以及更多。
- 多用途和轻量级:零依赖性,任何输出格式,可以从任何地方加载模板(可插拔),许多配置选项
- 国际化/本地化意识:对地域敏感的数字和日期/时间格式,本地化的模板变化。
- XML处理能力:将XML DOM-s放入数据模型中并遍历它们,甚至可以声明性地处理它们。
- 多功能的数据模型:Java对象通过可插拔的适配器以变量树的形式暴露给模板,这决定了模板如何看待它们。
评论