- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
velocty语法
目 录
1.变量………………………………………………………………………………1
2.循环………………………………………………………………………………2
3.条件语句…………………………………………………………………………2
4.语句的嵌套………………………………………………………………………2
5.注释………………………………………………………………………………2
6.关系和逻辑运算符………………………………………………………………3
7.宏…………………………………………………………………………………3
8. #stop……………………………………………………………………………4
9. #include与#parse……………………………………………………………4
10.转义字符的使用 ………………………………………………………………4
11.内置对象 ………………………………………………………………………5
12.数组的访问 ……………………………………………………………………5
示例部分……………………………………………………………………………5
Velocity语法
变量
变量的定义:
#set($name = hello) 说明:velocity中变量是弱类型的。
当使用#set 指令时,括在双引号中的字面字符串将解析和重新解释,如下所示:
#set($directoryRoot = www )
#set($templateName = index.vm )
#set($template = $directoryRoot/$templateName )
$template
输出将会是:www/index.vm
注:在中使用$2.5这样的货币标识是没有问题得的因为中的总是以一个大写或者小写的字母开始例如:你希望通过一个变量$vice来动态的组织一个字符串。?Jack?is?a?$vicemaniac.
本来变量是$vice现在却变成了$vicemaniac,这样Veloctiy就不知道您到底要什么了。所以,应该使用格式书写??Jack?is?a?${vice}maniac现在Velocity知道变量是$vice而不是$vicemaniac。hello
赋值的左边必须是一个变量或者是属性引用。右边可以是下面六种类型之一:
变量引用,字面字符串,属性引用,方法引用,字面数字,数组列表。
下面的例子演示了上述的每种类型:
#set( $monkey = $bill ) ## 变量引用
#set( $monkey.Friend = monica ) ## 字面字符串
#set( $monkey.Blame = $whitehouse.Leak ) ## 属性引用
#set( $monkey.Plan = $spindoctor.weave($web) ) ## 方法引用
#set( $monkey.Number = 123 ) ## 字面数字
#set( $monkey.Say = [Not, $my, fault] ) ## 数组列表
注意:①如果右值是null, 则左值不会被赋值,也就是说会保留以前的值未被定义的变量将被认为是一个字符串#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}
循环
#foreach?($element?in?$list)?????This?is?$element.???? $velocityCount?#end
例子:
#set( $list = [pine, oak, maple])
#foreach?($element?in?$list)
$velocityCount
This?is?$element.br#end
输出的结果为:
1 This is pine. 2 This is oak. 3 This is maple.
每次循环$list中的一个值都会赋给element变量。$list可以是一个Vector、Hashtable或者Array。分配给element的值是一个java对象,并且可以通过变量被引用
原创力文档


文档评论(0)