相信這個問題是很多使用Velocity的朋友所經常碰到的,大家可能非常期望下面這樣的代碼能夠運行:
#if($foo == null)
...
#end
實際上這段代碼會報錯。這是因為Velocity中對null的支持比較特別??偨y(tǒng)上說,判斷是否為null有下面幾種方法:
1. #if (! $foo) 判斷$foo為空,判斷非空為 #if ($foo)
2. 使用 #ifnull() 或 #ifnotnull()
#ifnull ($foo)
要使用這個特性必須在velocity.properties文件中加入:
userdirective = org.apache.velocity.tools.generic.directive.Ifnulluserdirective = org.apache.velocity.tools.generic.directive.Ifnotnull
3. 使用null工具判斷
#if($null.isNull($foo))
注意這種方式特別有用,尤其你在需要這個判斷作為一個判斷字句時,比如我要你判斷一個集合為null或為空時只能使用這種方式了:
$if ($null.isNull($mycoll) || $mycoll.size()==0)
#if($foo == null)
...
#end
實際上這段代碼會報錯。這是因為Velocity中對null的支持比較特別??偨y(tǒng)上說,判斷是否為null有下面幾種方法:
1. #if (! $foo) 判斷$foo為空,判斷非空為 #if ($foo)
2. 使用 #ifnull() 或 #ifnotnull()
#ifnull ($foo)
要使用這個特性必須在velocity.properties文件中加入:
userdirective = org.apache.velocity.tools.generic.directive.Ifnulluserdirective = org.apache.velocity.tools.generic.directive.Ifnotnull
3. 使用null工具判斷
#if($null.isNull($foo))
注意這種方式特別有用,尤其你在需要這個判斷作為一個判斷字句時,比如我要你判斷一個集合為null或為空時只能使用這種方式了:
$if ($null.isNull($mycoll) || $mycoll.size()==0)