资源描述:
《《vtl语法参考指南中文版》》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、领先的java与.Net技术推广者《VTL语法参考指南》中文版源文见http://velocity.apache.org*************************************************************************声明:转载请保留此页声明译者:javaFoundwww.Netjava.cnMail:javafound@gmail.com*************************************************************************目录1.关于本
2、指南32.语法参考31.变量定义32.访问属性3命令调用33.动作指令31.#set–建立变量对值的引用32.#if/#elseif/#else-条件判断43.#foreach---使用循环通过列表迭代对象54.#include–在模板中引入本地文件,不用Velocity解析这个文件55.#parse–在模板引用处使用Velocity解析另一个模板输出66.#stop–中断模板解析67.#macro–让用户可以定义宏操作(Velocimacro(VM):一组实现特定功能的VTL)64.Comments注解71.单行注解72.多行注解75.Fee
3、dback76www.NetJava.cn领先的java与.Net技术推广者1.关于本指南本文为Velocity的模板语言参考书,如需了解更多信息,请参见VelocityUserGuide.2.语法参考1.变量定义变量名的有效字符集:$[!][{][a..z,A..Z][a..z,A..Z,0..9,-,_][}]Examples:·一般方式:$mud-Slinger_9·静态(输出原始字面):$!mud-Slinger_9·正规格式:${mud-Slinger_9}2.访问属性格式规则:$[{][a..z,A..Z][a..z,A..Z,0.
4、.9,-,_]*.[a..z,A..Z][a..z,A-Z,0..9,-,_]*[}]Examples:·一般格式:$customer.Address:调用customer对象的getAddress()命令.·正规格式:${purchase.Total}3.命令调用格式规则:$[{][a..z,A..Z][a..z,A..Z,0..9,-,_]*.[a..z,A..Z][a..z,A..Z,0..9,-,_]*([optionalparameterlist...])[}]Examples:·一般写码:$customer.getAddress()
5、·正规写法:${purchase.getTotal()}·传入调用参数:$page.setTitle("MyHomePage")VTL的属性调用可以理解为命令调用的简写方式,一般会调用对象的get/set命令.3.动作指令1.#set–建立变量对值的引用格式规则:#[{]set[}]($ref=[",']arg[",'])6www.NetJava.cn领先的java与.Net技术推广者Examples:·变量引用:#set($monkey=$bill)·引用原始字符串:#set($monkey.Friend='monica')·属性引用:#se
6、t($monkey.Blame=$whitehouse.Leak)·命令引用:#set($monkey.Plan=$spindoctor.weave($web))直接引用数字:#set($monkey.Number=123)·列表赋值引用:#set($monkey.Numbers=[1..3])·对象数组:#set($monkey.Say=["Not",$my,"fault"])右值也可以做为一个表达式出现,如下加,减,cheng,除和取模:·Addition:#set($value=$foo+1)·Subtraction:#set($valu
7、e=$bar-1)·Multiplication:#set($value=$foo*$bar)·Division:#set($value=$foo/$bar)·Remainder:#set($value=$foo%$bar)2.#if/#elseif/#else-条件判断格式规则:#[{]if[}]([条件表达式])[输出内容][#[{]elseif[}]([condition])[output]]*[#[{]else[}][output]]#[{]end[}]Usage:·condition–如果是boolean型,根据true或false决
8、定,否则非null时认为是true.·output–可以包含VTL的输出内容.Examples(showingdifferentoperators):