計算機二級考試java輔導:Velocity中如何判斷null

字號:

相信這個問題是很多使用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)