操作系统中有一个很重要的功能,就是可以使用管道,即将前一个应用程序的输出流作为下一个应用程序的输入流. 现扩展的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下一版本的更新内容,请关注.
分享到:
相关推荐
标题“velocity和freemarker的比较”涉及到的是两个在Java Web开发中常用的模板引擎——Velocity和FreeMarker。它们都是用于将静态模板与动态数据结合,生成HTML或其他类型的文本输出,常用于MVC(模型-视图-控制器...
Velocity和Freemarker模板技术比较 模板技术在现代软件开发中扮演着重要角色,而在目前最流行的两种模板技术中, Velocity 和 Freemarker 独占鳌头。在 WebWork2 中,我们可以随意选择使用 Freemarker 或 Velocity ...
总结,Freemarker和Velocity都是强大的模板引擎,它们能够帮助开发者高效地实现动态内容的生成。理解并掌握这两种工具,对于提升Java Web开发能力至关重要。通过阅读提供的"freemarker语法.doc"文档,你可以深入了解...
- **FreeMarker**:同样是一种基于Java的模板引擎,它提供了一个强大的模板语言,支持更复杂的逻辑处理,并且具有更好的灵活性和可扩展性。 #### 二、使用便捷性 **FreeMarker**相比**Velocity**而言,在大多数...
本文将重点介绍三种常用的Java Web模板引擎:JSP(Java Server Pages)、Freemarker以及Velocity,并对它们进行深入比较。 #### JSP (Java Server Pages) JSP是一种基于Java技术的服务器端动态网页技术,通过在...
Freemarker是一个基于模板的语言,它的核心是模板文件,模板文件中包含了一系列控制结构(如条件语句、循环)和变量引用。这些变量是由后台Java代码提供,模板引擎会将这些变量替换为实际值,然后生成最终的输出文档...
`VelocityWebEdit-1.0.8.zip`这个插件是针对Velocity模板的Eclipse扩展,它可以提供 Velocity模板的语法高亮、代码提示、代码格式化等功能,帮助开发者更好地管理和调试Velocity模板文件(`.vm`)。 Eclipse插件的...
1.这是一个在根目录下的mail.properties文件中配好发送邮件地址和接收邮箱地址的实例,利用freeMarker模板作为展示... 2.测试本例时要将根目录下mail.properties文件中邮箱地址和密码修改正确,最好选择...
FreeMarker和Apache POI是两种在Java开发中广泛使用的工具,它们在处理文档生成和操作方面各有专长。本文将详细介绍这两个库如何协同工作来创建带有图片的Word文档。 **FreeMarker** FreeMarker是一个模板引擎,...
本主题将深入探讨如何利用Freemarker模板和wkhtmltox工具来实现这一功能。 **Freemarker模板** 是一个强大的Java模板引擎,用于动态生成文本输出,如HTML、XML或PDF。它支持变量替换、控制结构(如if/else)和复杂...
在MyEclipse中配置Freemarker模板,可以实现快速生成常见的Java Web项目中的视图层代码,如动态页面。例如,你可以为不同的页面元素(如头部、导航栏、内容区域等)创建模板,并在需要的地方插入这些模板,使得代码...
本篇文章将对四个流行的Java模板引擎——Velocity、FreeMarker、Smarty4j以及HTTL进行效率分析,旨在探讨它们在处理业务逻辑编译和性能方面的优劣。 1. Velocity: Velocity是Apache软件基金会的一个开源项目,以其...
在本项目中,我们将利用FreeMarker模板语言和Spring Boot后端API接口来实现一个用户列表的查询功能。下面,我将详细讲解这个过程中的关键知识点。 1. **FreeMarker模板**: FreeMarker是一个Java模板引擎,它能够...
压缩包中的Java代码很可能是实现数据模型与Freemarker模板结合,生成Word文档的核心部分。通常,这会涉及创建`Configuration`对象,加载模板文件,准备数据模型,以及调用`Template`对象的`process()`方法来生成...
Velocity与JSP、FreeMarker等其他模板引擎相比,有其独特优势。Velocity的语法简洁,更接近自然语言,且由于它不支持脚本,避免了在模板中引入过多的业务逻辑,使得模板更加纯粹。此外,Velocity的性能也相对较高,...
综合以上,这个大型商城网站项目利用了SpringMVC作为核心的后端控制框架,Freemarker和Velocity作为视图渲染引擎,iBatis负责数据库交互,构建了一个高效、可扩展的电商平台。源码可能包含了完整的业务流程,如用户...
4. `TemplateDirectiveModel`和`TemplateMethodModel`: 分别表示指令和方法模型,用于实现自定义的模板扩展。 通过阅读源码,我们可以学习到FreeMarker如何解析模板,如何处理变量和表达式,以及如何执行自定义...
本篇文章将深入探讨如何利用FreeMarker在Java环境中实现对Word文档的操作。 一、FreeMarker简介 FreeMarker是一个基于模板的语言,其主要目标是将数据模型与展示逻辑分离。在Java应用中,开发者通常会创建一个数据...
Freemarker模板生成pdf+javaFreemarker模板生成pdf+javaFreemarker模板生成pdf+javaFreemarker模板生成pdf+javaFreemarker模板生成pdf+java