[翻译] FreeMarker快速上手
关键字: freemarker创建Configuration实例
首先必须创建一个freemarker.template.Configuration 实例并调整其设置。Configuration 实例保存freemarker的设置,同时处理预解析的模板的创建和缓存。
通常应用程序的生命周期中只会创建一个Configuration实例。
|
|||
目前我们使用单个的Configuration实例。不过如果一个系统有多个独立的组件使用FreeMarker,它们会使用各自的Configuration 实例。
创建数据模型
我们可以简单地使用java.lang java.util 和自定义的JavaBean构建对象模型,比如我们构建数据模型如下:
|
|||
如下是构建数据模型的代码:
|
|||
也可以使用一个包含url 和 name 属性的JavaBean实例表示lastestProduct。
获取模板
模板通过freemarker.template.Template实例表示。通常从Configuration 实例中获取Template实例,任何时候都可以调用getTemplate方法获取一个Template 实例。假定模板文件test.ftl 保存在先前设置的目录中:
|
|||
上述代码将读取,解析/where/you/store/templates/test.ftl文件,创建一个对应的Template实例 。
Configuration 缓存Template 实例, 因此当需要再次获取test.ftl 文件, 将不会创建一个新的Template实例。
合并模板和数据模型
就我们所知,数据模型+模板=输出,通过调用模板的process 方法合并数据模型和模板,process. 方法接受一个数据模型根和一个writer作为参数,将结果输出到Writer。 为简化起见,这里输出到控制台。
|
|||
一旦获取一个Template 实例,可以合并不同的数据模型和一个模板(Template 实例基本上是无状态的),而test.ftl只会当Template 实例被创建的时候访问一次。
整合
这是先前代码片断的源文件,不要忘记将freemarker.jar放在CLASSPATH.中。
|
|||
评论
谢谢!
本来想自己整理一篇,但是楼主已经把我要讲得都讲清楚了。
发表评论
- 浏览: 91520 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
链接
最新评论
-
Struts 2.0 文件上传/下 ...
有没有例子啊,
-- by savefrom -
重温Spring参考手册 事务 ...
manager
-- by tryyong -
[翻译] FreeMarker快速上 ...
我先转载了,留得日后看, 谢谢!
-- by qingfeng825 -
[翻译] FreeMarker快速上 ...
very good,思路明晰,条理清楚。 本来想自己整理一篇,但是楼主已经把我要 ...
-- by qingfeng825 -
[翻译] JBoss 4.0.5 应用 ...
...
-- by sdasdasda






评论排行榜