- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
velocity新手教程.doc
Velocity教程
一、Velocity脚本语法摘要???? 变量
(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来动态的组织一个字符串。
?Jack?is?a?$vicemaniac.
本来变量是$vice现在却变成了$vicemaniac,这样Veloctiy就不知道您到底要什么了。所以,应该使用规范的格式书写?:?Jack?is?a?${vice}maniac现在Velocity知道变量是$vice而不是$vicemaniac。
注意:当引用属性的时候不能加{}
(3)变量的赋值:
$name=hello
赋值的左边必须是一个变量或者是属性引用。右边可以是下面六种类型之一:
变量引用,字面字符串,属性引用,方法引用,字面数字,数组列表。
下面的例子演示了上述的每种类型:
#set( $monkey = $bill ) ## variable reference
#set( $monkey.Friend = monica ) ## string
#set( $monkey.Blame = $whitehouse.Leak ) ## property reference
#set( $monkey.Plan = $spindoctor.weave($web) ) ## method reference
#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?($element?in?$list)?????This?is?$element.???? $velocityCount?#end
#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对象,并且可以通过变量被引用。例如:如果$element t是一个java的Product类,并且这个产品的名字可以通过调用他的getName()方法得到。
#foreach ( $key in $list.keySet())Key: $key - Value: $list.get($key) br#end
提示:velocity中大小写敏感。
?
您可能关注的文档
- UCMap for Android 开发教程.pdf
- UCMap for Android升级日志与案例应用.doc
- ucos II2.52 turbo c编译图文说明.doc
- UI讲义-第1部分概述-boxer.pdf
- ukulele教程从初学到入门教程.pdf
- UML基础教程(免费下载).ppt
- Unit1 -Unit5词组复习(打印版).doc
- Unity4.6中文教程之UGUI_Rich_Text详解.doc
- Unit1 大学英语综合教程.ppt
- U大侠U盘安装Win8Win7双系统安装图文教程.doc
- 文化创意产业园区品牌塑造策略研究——聚焦2025年产业集聚现状[001].docx
- 电竞俱乐部电竞俱乐部电竞战队市场前景分析报告(2025).docx
- 社交电商裂变营销与用户增长的裂变营销案例研究报告.docx
- 教育信息化2.0,2025年成人教育终身学习体系构建与平台运营报告.docx
- 中医药现代化在亚洲市场的国际化品牌建设策略报告.docx
- 商业写字楼智能化设计与智慧出行2025年评估报告[001].docx
- 社交媒体平台舆情监测与危机公关的社交媒体营销效果评估方法.docx
- 学前教育机构师资队伍课程思政融入研究报告.docx
- 电商知识产权保护与电子商务平台社会责任研究报告.docx
- 2025年基于人工智能的在线教育平台个性化学习路径推荐效果评估与优化策略.docx
文档评论(0)