velocity新手教程.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:6 大小:52KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

velocity新手教程.doc

velocity新手教程.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Velocity教程一、Velocity脚本语法摘要1.变量(1)变量的定义:#set($name="hello")说明:velocity中变量是弱类型的。当使用#set指令时,括在双引号中的字面字符串将解析和重新解释,如下所示:#set($directoryRoot="www")#set($templateName="index.vm")#set($template="$directoryRoot/$templateName")$template输出将会是:www/index.vm注:在velocity中使用$2.5这样的货币标识是没有问题得的,因为velocity中的变量总是以一个大写或者小写的字母开始的。(2)变量规范的写法${name},也可以写成:$name。提倡用前面的写法。例如:你希望通过一个变量$vice来动态的组织一个字符串。Jackisa$vicemaniac.本来变量是$vice现在却变成了$vicemaniac,这样Veloctiy就不知道您到底要什么了。所以,应该使用规范的格式书写:Jackisa${vice}maniac现在Velocity知道变量是$vice而不是$vicemaniac。注意:当引用属性的时候不能加{}(3)变量的赋值:$name="hello"赋值的左边必须是一个变量或者是属性引用。右边可以是下面六种类型之一:变量引用,字面字符串,属性引用,方法引用,字面数字,数组列表。下面的例子演示了上述的每种类型:#set($monkey=$bill)##variablereference#set($monkey.Friend="monica")##string#set($monkey.Blame=$whitehouse.Leak)##propertyreference#set($monkey.Plan=$spindoctor.weave($web))##methodreference#set($monkey.Number=123)##number#set($monkey.Say=["Not",$my,"fault"])##ArrayList注意:①如果上述例子中的右值是null,则左值不会被赋值,也就是说会保留以前的值。②velocity模板中未被定义的变量将被认为是一个字符串。例如:#set($foo="gibbous")$moon=$foo输出结果为:$moon=gibbous③velocity模板中不会将reference解释为对象的实例变量。例如:$foo.Name将被解释为Foo对象的getName()方法,而不是Foo对象的Name实例变量。例如:$foo.getBar()等同于$foo.Bar;$data.getUser("jon")等同于$data.User("jon");data.getRequest().getServerName()等同于$data.Request.ServerName等同于${data.Request.ServerName}2.循环#foreach($elementin$list)Thisis$element.$velocityCount#end#foreach($elementin$list)Thisis$element$velocityCount#end例子:#set($list=["pine","oak","maple"])#foreach($elementin$list)$velocityCountThisis$element.<br>#end输出的结果为:1Thisispine.2Thisisoak.3Thisismaple.每次循环$list中的一个值都会赋给$element变量。$list可以是一个Vector、Hashtable或者Array。分配给$element的值是一个java对象,并且可以通过变量被引用。例如:如果$elementt是一个java的Product类,并且这个产品的名字可以通过调用他的getName()方法得到。#foreach($keyin$list.keySet())Key:$key->Value:$list.get($key)<br>#end提示:velocity中大小写敏感。Velocity还特别提供了得到循环次数的方法,$velocityCount变量的名字是Velocity默认的名字。例子:Firstexample:#foreach($fooin[1..5])$foo#endSecondexample:#foreach($barin[2..-2])$bar#endThirdexa