什么是 FreeMarker?

FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。

模板编写为FreeMarker Template Language (FTL)。它是简单的,专用的语言, 不是 像PHP那样成熟的编程语言。 那就意味着要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。在模板中,你可以专注于如何展现数据, 而在模板之外可以专注于要展示什么数据。

Figure

这种方式通常被称为 MVC (模型 视图 控制器) 模式,对于动态网页来说,是一种特别流行的模式。 它帮助从开发人员(Java 程序员)中分离出网页设计师(HTML设计师)。设计师无需面对模板中的复杂逻辑, 在没有程序员来修改或重新编译代码时,也可以修改页面的样式。

而FreeMarker最初的设计,是被用来在MVC模式的Web开发框架中生成HTML页面的,它没有被绑定到 Servlet或HTML或任意Web相关的东西上。它也可以用于非Web应用环境中。

FreeMarker 是 免费的, 基于Apache许可证2.0版本发布。

如果你发现 任何错误 (包括 语法错误, 错别字, 排版错误) 或者是在文档中找到 误导或混淆 ,或有其他建议,请联系原作者! Email: ddekany at users.sourceforge.net

文档翻译的任何问题(包括语法错误,错别字)或中文技术交流,可以联系译者:nanlei1987 at gmail.com, 或在FreeMarker的Github上Fork一份,修改之后提交Pull Request。我们共同研究,共同进步。

英文版文档的作者(也是FreeMarker项目的维护者)是匈牙利人,其母语非英语,那么在这种情况下, 翻译过程难免会有错误存在,译者结合自身多年对FreeMarker的实践力争精准,译文力求信达雅。 但因个人才疏学浅,水平有限,恳请广大读者批评指正。最好的方式就是使用Github了

手册的更新根据原作者更新,大家的反馈随时进行。但只在有阶段性成果时才会提交发布修正版本。

本翻译是免费的,您可以自由下载和传播,但不可用于任何商业行为。文档版权归译者本人所有, 原版归FreeMarker项目组所有,您可以引用其中的描述,但必须指明出处。如需用于商业行为, 您必须和原作者取得联系。