操作系统中有一个很重要的功能,就是可以使用管道,即将前一个应用程序的输出流作为下一个应用程序的输入流. 现扩展的freemarker,velocity实现同样的功能。
一.功能介绍
1.将前一个模板的输出,变成一个变量,后一个模板可以通过变量引用前一个模板的输出
2.整个管道下的模板都在同一个context中,即模板间可以相互引用变量
二.管道定义表达式
first.ftl | second.flt | three.flt
三.模板管道(Pipeline)示意图
四.API示例使用
Configuration conf = new Configuration();
// other settings for Configuration
Pipeline pipeline = new FreemarkerPipeline(conf);
pipeline.pipeline("first.flt | second.flt | three.flt", map , writer);
五.管道与继承结合
将管道操作与我之前扩展的模板继承相结合,即可打造一个完美的页面布局框架.
管道+继承示意图如下:
六.源代码
请查看: http://rapid-framework.googlecode.com/svn/trunk/rapid-framework/src/rapid_framework_common/cn/org/rapid_framework/pipeline/
结论:
使用pipeline及继承相结合,目的是替换现有的布局工具:sitemesh,tiles,与sitemesh相比,现有的继承指令会比sitemesh的性能要高,继承的关系比tiles更加易于理解,打造一个适用于rapid-framework的全新页面布局系统.
以上相关内容属于rapid-framework下一版本的更新内容,请关注.