volocity脚本语法

Posted 小立攻城狮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了volocity脚本语法相关的知识,希望对你有一定的参考价值。

volocity脚本语句都是以#打头,包括#if、#else、#end、#foreach、#break、#include、#parse、#macro、#set等。

1#if逻辑判断

支持的运算符有==、!= 、>、<、>=、<=、&&、||、!。

#if(1==1) ... #end
#if(1!=1) ... #end
#if(1<2)  ... #end
#if(1>0)  ... #end
#if(1<2)  ... #end
#if(1>=0) ... #end
#if(1<=2) ... #end
#if(1>0 && 2>1) ... #end
#if(1>0 || 2>1)  ...#end
#if(1>0)  ... #end
#if(!(1==2))  ... #end
#if(true)  ... #end
#if(!false)  ... #end

变量形式:

#if($num> 0)  ... #end

2#else逻辑判断

#if($num> 0)
   ...
#else
   ...
#end

3#foreach循环迭代

#foreach($datain $list)
 #if($data>0)
   $data
 #else
   $data
 #end
#end
      
#foreach($datain [1,2,3,4,5])
  $data
#end
  
#foreach($data in ['a','b','c'])
  $data, $velocityCount //velocityCount代表的是序号,是固定写法
#end
 
#foreach($data in $map)
 $data //输出的是map的value值
#end
 
#foreach($data in"num1":1,"num2":2,"num3":3)
 $data //输出的是value值
#end
      
#foreach($datain $map.entrySet())
 $data.key=$data.value
#end
      
#foreach($data in [1..10]) //循环10次
 $data
#end

4#break跳出循环

#foreach($data in $list)
  #if($data == 2)
   #break
  #end
  $data
#end

5#include静态引入模板

 volocity1.vm:

 world!

volocity2.vm:
<body>
Hello #include("volocity1.vm")

</body>

注:被引入的模板不支持变量替换。 

6#parse动态引入模板

volocity1.vm:
 $str world!

volocity2.vm:
<body>
 #parse("volocity1.vm")
</body>

 注:被引入的模板支持变量替换。   

7#macro自定义方法

定义无返回值方法:
#macro(methodName,$list)
 #foreach($datain $list)
  $data
 #end
#end
调用方法:#methodName($list)
      
定义有返回值方法:
#macro(methodName,$list)
 #set(sum=0)
 #foreach($data in $list)
  #set($sum=$sum+$data)
 #end
 $sum
#end
调用方法:#methodName($list)
        
其实返回值只是我们给加的一个说法而已,严格的说是没有返回值概念的,只有输出这一说(就相对于java中的System.out.print输出);要理解模板语言是干什么的,只是一个生产工具而已。

8#set定义变量

#set($num=0)$num
#set($num=$num+1) $num
#set($num=$num*2) $num
#set($num=$num/2) $num
#set($num=$num-1) $num
#set($list = [1,2,3,4,5]) $list.get(0)
#set($map="num1":1,"num2":2)$map.get("num2")

9null值输出

假设vm模板有如下输出: $num

如果volocity上下文传递过来的该参数为null,那么最后引擎输出来就直接是$num,这肯定不是我们想要的处理方式;那么我们使用$!num这种方式来输出就没问题了。

以上是关于volocity脚本语法的主要内容,如果未能解决你的问题,请参考以下文章

关于html 5语法下面说法不正确的是啥?

论理财的重要性---shell脚本计算

如何使用cucumber搭建ui自动化框架

命令行使用ant脚本编译时出现OutOfMemoryError: GC overhead limit exceeded

python3下检查ssl证书过期时间(续)

小试Squirrel松鼠脚本的远程调试功能