計(jì)算機(jī)二級(jí)考試java輔導(dǎo):Velocity中如何判斷null

字號(hào):

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