Velocity小结

Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。
当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只 关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提 供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。
Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当 作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。

常用指令:
1、”#”用来标识Velocity的脚本语句。
2. “$”用来标识一个对象(或理解为变量);
3. “{}”用来明确标识Velocity变量,和普通模版字符串区分开来;
4. “!”强制把不存在的变量显示为空白;
5. 语句注释:单行注释:## 单行注释代码,多行注释:#* 多行注释代码 *#
6. 模版支持关系和逻辑操作符运算,如:&&、||、! 等
7. 宏定义:#macro ;
8. 终止命令:#stop,停止执行模板引擎并返回。
9. 引入公共模版文件#include与#parse;
10. 转义字符’\’;
11. Velocity内置了一部分java对象 如:$request、$response、$session等,在vm模版里可以直接调用。
常用指令#set、#if 、#else、#foreach、#end、#include、#parse、#macro等。
引入模板:#include与#parse,它们的差异是:#parse只能指定单个对象。而#include可以有多个,#include被引入文件的内容将不会通过模板引擎解析;而#parse引入的文件内容Velocity将解析其中的velocity语法并移交给模板,意思就是说相当与把引入的文件copy到文件中。#parse是可以递归调用的。

注意:
Velocity是大小写敏感的;
变量输出要带上静止修饰符,避免模板直接空指针报错
举例 :$var错误,$!var正确
如果变量referce与html一起使用,需要在变量名上加上{};{}标识Velocity变量的内容需要注意空格;
宏定义#macro 需要先定义再调用;
#foreach中的index($velocityCount)从1开始;
Velocity中的相减之间要有空格;
Velocity中是否相等仅直接的用来比较numbers, strings的值, or objects的toString()结果是否相等. 如果是不同的对象,会调用它们的toString()命令结果来比较.

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据