1、聲明:#set ($var=XXX) 左邊可以是以下的内容 Variable reference String literal Property reference Method reference Number literal #set ($i=1) ArrayList #set ($arr=["yt1","t2"]) 算術運算符 2、注釋: 單行## XXX 多行#* xxx xxxx xxxxxxxxxxxx*# References 引用的類型 3、變量 Variables 以 "$" 開頭,第一個字元必須為字母。character followed by a VTL Identifier. (a .. z or A .. Z). 變量可以包含的字元有以下内容: alphabetic (a .. z, A .. Z) numeric (0 .. 9) hyphen ("-") underscore ("_") 4、Properties $Identifier.Identifier $user.name hashtable user中的的name值.類似:user.get("name") 5、Methods object user.getName() = $user.getName() 6、Formal Reference Notation 用{}把變量名跟字元串分開 如 #set ($user="csy"} ${user}name 傳回csyname $username $!username $與$!的差別 當找不到username的時候,$username傳回字元串"$username",而$!username傳回空字元串"" 7、雙引号 與 引号 #set ($var="helo") test"$var" 傳回testhello test'$var' 傳回test'$var' 可以通過設定 stringliterals.interpolate=false改變預設處理方式 8、條件語句 #if( $foo ) <strong>Velocity!</strong> #end #if($foo) #elseif() #else #end 當$foo為null或為Boolean對象的false值執行. 9、邏輯運算符:== && || ! 10、循環語句#foreach($var in $arrays ) // 集合包含下面三種Vector, a Hashtable or an Array #end #foreach( $product in $allProducts ) <li>$product</li> #end #foreach( $key in $allProducts.keySet() ) <li>Key: $key -> Value: $allProducts.get($key)</li> #end #foreach( $customer in $customerList ) <tr><td>$velocityCount</td><td>$customer.Name</td></tr> #end 11、velocityCount變量在配置檔案中定義 # 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 12、包含檔案 #include( "one.gif","two.txt","three.htm" ) 13、Parse導入腳本 #parse("me.vm" ) 14、#stop 停止執行并傳回 15、定義宏Velocimacros ,相當于函數 支援包含功能 #macro( d ) <tr><td></td></tr> #end 調用 #d() 16、帶參數的宏 #macro( tablerows $color $somelist ) #foreach( $something in $somelist ) <tr><td bgcolor=$color>$something</td></tr> #end #end 17、Range Operator #foreach( $foo in [1..5] ) |