velocity判斷空值方法:
依據:$username與$!username的區別,當找不到username的時候,$username返回字串"$username",而$!username返回空字串""
所以:#set($!username=='') 可以判斷字串是否為空
以下為velocity指令碼摘要
1、宣告:#set ($var=***)
左邊可以是以下的內容
variable reference
string literal
property reference
method reference
number literal #set ($i=1)
arraylist #set ($arr=["yt1","t2"])
技持算術運算子
2、注釋:
單行## ***
多行#*
******x
************
*# 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"}
$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 )
velocity!
#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 )
$product
#end
#foreach( $key in $allproducts.keyset() )
key: $key -> value: $allproducts.get($key)
#end
#foreach( $customer in $customerlist )
$velocitycount
$customer.name
#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 )
#end
呼叫 #d()
16、帶引數的巨集
#macro( tablerows $color $somelist )
#foreach( $something in $somelist )
$something
#end
#end
17、range operator
#foreach( $foo in [1..5] )
Velocity初學筆記
velocity頁面 velocity 1.變數 屬性 方法 set foo velocity hello foo world 或者hello world customer.address purchase.gettotal ps set foo gibbous moon foo 輸出 moon g...
velocity 快速入門
基本語法 1 變數定義 name 注意 a 名字和 配合一起用 b 更規範的寫法是 2 賦值 set name 威少 3 條件判斷 if code elseif code else code end 注意 結尾 end不可缺 4.迴圈 foreach element in list element ...
Velocity 加減運算
因為在做的乙個專案裡用的是velocity,以前一直沒用過,一直都是用的框架自帶的標籤,如struts2等,做了一段時間感覺差不多都一樣的,無非就是if.else.foreach等,但是網上說freemaker要強大的多,我也沒用過,所以就沒資格說那個好,但是用velocity有點讓我不爽,velo...