freemarker简介
freemarker是一款模板引擎:即一种基于模板、用来生成输出文本(任何来自于HTML格式的文本用来自动生成源代码)的通用工具。它是为java程序员提供的一个开发包,或者说是一个类库。它不是面向最终用户的,而是为程序员提供一款可以嵌入他们所开发产品的应用程序。
freemarker实际上是被设计用来生成HTML页面,尤其是通过实现了基于MVC模式的java Servlet应用程序。使用MVC模式的动态页面的设计构思使得你可以将前端设计师从程序员中分离出来。那么,所有人各司其职,发挥其最擅长的一面。网页设计师可以改写页面的显示效果而不受程序员编译代码的影响,因为程序逻辑和页面设计已经被分开了。页面模板代码不会受到复杂程序代码的影响。这种分离思想即便对一个程序员和页面设计师是同一个人的项目来说也都是非常有用的,因为分离使得代码保持简洁而且易于维护。
尽管freemarker也拥有一些编程能力,但是它却不像PHP那样,是一种全面的编程语言。反而,java程序准备的数据来进行显示(比如SQL数据库查询),freemarker仅仅是使用模板生成文本页面来呈现已经准备好的数据而已。
freemarker不是Web开发的应用程序框架。它是一个适用于Web应用程序框架中的组件,但是freemarker引擎本身并不知道HTTP协议或java servlet 的存在。它仅仅来生成文本内容。既然是这样,它也非常适用于非Web应用程序的开发环境。只是要注意的是,我们使用freemarker作为视图层的组件,是为了给诸如Struts这样的Model2应用框架提供现成的解决方案。
freemarker本身是免费的,它基于BSD规则的许可协议。它也是OSI认证的开源软件。OSI认证是开源倡议的认证标识。