velocity语法教程_第1页
velocity语法教程_第2页
velocity语法教程_第3页
velocity语法教程_第4页
velocity语法教程_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.velocity 语法教程整理来自:www.web- include与parse include和#parse的作用都是引入本地文件, 为了安全的原因,被引入的本地文件只能在TEMPLATE_ROOT目录下。 #parse只能指定单个对象。而#include可以有多个示范代码:#include ("one.gif", "two.txt", "three.htm" )#parse ("parsefoo.vm")更多 include与parse 信息 stop

2、0;#stop 停止执行模板引擎并返回,把它应用于debug是很有帮助的。 更多 stop 信息 Velocity中的宏 Velocity中的宏我们可以理解为函数。宏的定义#macro(宏的名称 $参数1 $参数2 )   语句体(即函数体)#end宏的调用#宏的名称($参数1 $参数2 )说明:参数之间用空格隔开。更多 Velocity中的宏 信息 关系和逻辑操作符 关系和逻辑操作符Velocity 也具有逻辑AND, OR 和 NOT 操作符。 #if($foo && $ba

3、r)   <strong> This AND that</strong>#end更多 关系和逻辑操作符 信息 内置对象 Velocity内置了一些对象,在vm模版里可以直接调用,列举如下:$request、$response、$session,另外,模板内还可以使用 $msg内的消息工具访问 Struts 的国际化资源,达到简便实现国际化的方法。 更多 内置对象 信息 变量的定义 #set($name = "hello")  

4、60;   说明:velocity中变量是弱类型的。当使用#set 指令时,括在双引号中的字面字符串将解析和重新解释,如下所示:#set($directoryRoot = "www" )#set($templateName = "index.vm" )#set($template = "$directoryRoot/$templateName" )$template输出将会是:www/index.vm注:在velocity中使用$2.5这样的货币标识是没有问题得的,因为velocity中的变量总是以一个大写或者小写

5、的字母开始的。更多 变量的定义 信息 变量的赋值 赋值的左边必须是一个变量或者是属性引用。右边可以是下面六种类型之一: 变量引用,字面字符串,属性引用,方法引用,字面数字,数组列表。#set( $monkey = $bill ) # variable reference#set( $monkey.Friend = "monica" ) # string #set( $monkey.Blame = $whitehouse.Leak ) # property reference#set( $monkey.Plan = $spindocto

6、r.weave($web) ) # method reference#set( $monkey.Number = 123 ) #number #set( $monkey.Say = "Not", $my, "fault" ) # ArrayList更多 变量的赋值 信息 变量规范的写法 变量规范的写法$name ,也可以写成:$name。提倡用前面的写法。例如:你希望通过一个变量$vice来动态的组织一个字符串。 Jack is a $vicemaniac.本来变量是$vice现在却变成了$viceman

7、iac,这样Veloctiy就不知道您到底要什么了。所以,应该使用规范的格式书写 : Jack is a $vicemaniac现在Velocity知道变量是$vice而不是$vicemaniac。注意:当引用属性的时候不能加更多 变量规范的写法 信息 循环 主要使用foreach,循环例子: #set( $list = "pine", "oak", "maple")#foreach ($element in $list)$velocityCountThis is $element.<br

8、>#end更多 循环 信息 数组访问 对数组的访问在Velocity中存在问题,因为Velocity只能访问对象的方法,而数组又是一个特殊的Array,所以虽然数组可以进行循环列举,但却不能定位访问特定位置的元素,如 strs2,数组对固定位置元素的访问调用了Array的反射方法get(Object array, int index),而Velocity没能提供这样的访问,所以数组要么改成List等其他类容器的方式来包装,要么就通过公用Util类的方式来提供,传入数组对象和要访问的位置参数,从而达到返回所需值的目的。更多 数组访问

9、0;信息 条件语句 例子:  #if( $foo < 10 )     <strong> Go North </strong>   #elseif( $foo = 10 )     <strong> Go East </strong>   #elseif( $foo = 6 )     <strong> Go South </strong>   #else &

10、#160;   <strong> Go West </strong>   #end 更多 条件语句 信息 注释 (1)单行注释:# This is a single line comment.(2)多行注释:#*Thus begins a multi-line comment. Online visitors wontsee this text 

11、;because the Velocity Templating Engine will*#(3)文档格式注释:。更多 注释 信息 语句的嵌套 语句的嵌套    #foreach ($element in $list)        # inner foreach 内循环        #foreach ($element in $list)  &

12、#160;     This is $element. $velocityCount <br>inner<br>       #end        # inner foreach 内循环结束        # outer foreach     This is $element.     $velocityCount <br>ou

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论