1. “#”用来标识Velocity的脚本语句

包括#set、#if 、#else、#end、#foreach、#end、#iinclude、#parse、#macro等;
例如:

  1. #set ($i=0)
  2. #foreach($info in $list)
  3. 序号:$i
  4. #set($i=$i+1)
  5. #end
  1. 赋值
#set($food = "velocity")  ##定义 变量food

Hello $food World!  ## 输出 字符串,并将变量值带入。
  1. 注释
  ##   两个 # 代表单行注释
  #* 这个是多行注释 *#
  #**   文档格式   *#
  1. $与$!的区别
    当找不到username的时候,$username返回字符串"$username",而$!username返回空字符串""     
    $username 
    $!username
    
  1. 双引号 与 单引号
#set ($var="helo") 
test"$var" 返回testhello 
test'$var' 返回test'$var' 
可以通过设置 stringliterals.interpolate=false改变默认处理方式
  1. 转义符号 单引号 ‘’
#set( $email = “foo” )

$email

'$email'

\$email

'\$email'

显示结果:

foo

$email

\foo

\$email
  1. if/else/elseif
#if($foo < 10 )

Go North

#elseif( $foo == 10 )

Go East

#elseif( $foo == 6 )

Go South

#else

Go West

#end
  1. 循环语句foreach
循环语句结构
#foreach($var in $arrays ) 
#end

例如:
        #foreach( $product in $allProducts ) 
    <li>$product</li> 
    #end 

    #foreach( $key in $allProducts.keySet() )   #假如 $allProducts 是hashMap
    <li>Key: $key -> Value: $allProducts.get($key)</li> 
    #end 

    #foreach( $customer in $customerList ) 
    <tr><td>$velocityCount</td><td>$customer.Name</td></tr> 
    #end 

#*
    # Default name of the loop counter 
    # variable reference. 
    directive.foreach.counter.name = velocityCount 
    # Default starting value of the loop 
    # counter variable reference. 
    directive.foreach.counter.initial.value = 1 
   *#
  1. stop 停止执行并返回

  2. macro,类似于宏定义,用于自定义相应的标记。

    如下定义了一段宏,用于输出表格中的列表 
    #macro( tablerows $color $somelist )   # $color $somelist  这两个是 宏 tablerows的参数
     #foreach( $something in $somelist ) 
         <tr><td bgcolor=$color>$something</td></tr> 
     #end 
    #end

使用宏

    在模版中,只需要使用#tablerows($color $somelist)就可以取代里面的代码了: 
    #set( $greatlakes = ["Superior","Michigan","Huron","Erie","Ontario"] ) 
    #set( $color = "blue" ) 
   <table> 
      #tablerows( $color $greatlakes ) 
   </table>
  1. Range Operator
 #foreach( $foo in [1..5] ) 
输出: $foo
 #end

Velocity中使用”==”判断两个数字是否相等
现在我们假设$allProducts是一个Hashtable,如果你希望得到它的key应该像下面这样:
#foreach ( $key in $allProducts.keySet())

Key: $key -> Value:$allProducts.get($key)