什么是 FreeMarker?
FreeMarker 是一款模板引擎:一种基于模板的、用来生成输出文本(任何来自于 HTML 格式的文本用来自动生成源代码)的通用工具。它是为 Java 程序员提供的一个开发包或者说是类库。它不是面向最终用户,而是为程序员提供的可以嵌入他们开发产品的一款应用程序。 FreeMarker 的设计实际上是被用来生成 HTML 网页,尤其是通过基于实现了 MVC(Model View Controller,模型-视图-控制器)模式的 Servlet 应用程序。使用 MVC 模式的动态网页的构思使得你可以将前端设计者(编写 HTML)从程序员中分离出来。所有人各司其职,发挥其擅长的一面。网页设计师可以改写页面的显示效果而不受程序员编译代码的影响,因为应用程序的逻辑(Java 程序)和页面设计(FreeMarker 模板)已经分开了。页面模板代码不会受到复杂的程序代码影响。这种分离的思想即便对一个程序员和页面设计师是同一个人的项目来说都是非常有用的,因为分离使得代码保持简洁而且便于维护。
尽管 FreeMarker 也有编程能力,但它也不是像 PHP 那样的一种全面的编程语言。反而, Java 程序准备的数据来显示(比如 SQL 查询),FreeMarker 仅仅使用模板生成文本页面来呈现已经准备好的数据。
FreeMarker 不是 Web 应用框架。它是 Web 应用框架中的一个适用的组件,但是 FreeMarker 引擎本身并不知道 HTTP 协议或 Servlet。它仅仅来生成文本。即便这样,它也非常适用于非 Web 应用环境的开发。要注意的是,我们使用 FreeMarker 作为视图层组件,是为给如 Struts 这样的 Model 2 框架提供现成的解决方案。
FreeMarker 是免费的,基于 BSD 规则的许可。它是 OSI 认证的开源软件。OSI 认证是开源倡议的认证标识。
我们应该阅读什么内容?
如果你是一名…
前端设计师,那么你应该阅读模板开发指南,然后如果需要的话可以阅读参考手册来获取更多技术细节。
程序员,那么你应该先阅读模板开发指南,然后是程序开发指南,最后如果需要的话可以阅读参考手册来获取更多技术细节。
文档规约
变量名,模板代码段,Java 类名等用如下格式书写,如:foo。
如果需要具体值来代替某些内容,那么用斜体书写,如:Hello yourName!
模板示例如下书写:
Something
数据对象示例如下书写:
Something
输出数据示例如下书写:
Something
程序示例如下书写:
Something
在面向页面设计师和程序员所编写的章节中代码段给程序员这样写:这只是对程序员而言的。
这样来强调新名词:一些新名词