velocity null和""判断

总结:
velocity判断为null和空:
方法一:(不管是不是集合,都可以使用如下方法进行判断,综合判断了为null和为空的情况)

#if(!$xxx)来判断元素是null#if($xxx)来判断元素不是null

方法二:
当判断集合是否为null或者是否为空的还是,推荐使用如下方法

#if(!$listnull || $listnull.size()==0)

出现的错误:
看到别人介绍说使用

$null.isNull()来判断是否为空,但是经过试验发现:

在处理以下几种情况的时候会出错:

  1. 后台没有回传的:null属性
  2. 后台有回传的:null字符串
  3. 后台有回传的:null集合

$null.isNull()结论:

$null.isNull()只能适用于为空不为null的情况.为null则会出错

$list.size()==0这种方法判断的时候,当字符串是null的时候,就会显示不对(这也是正常的,null哪有什么size)

综合上述情况,其他人介绍的那种

$if ($null.isNull($mycoll) || $mycoll.size()==0)

的情况,只能适用于:后台有回传这个集合,而且这个集合不为null,为空的时候,它才可以正确判断;


以下是测试数据

后台返回的参数

        String testnullString  = null;
        uiModel.addAttribute("stringnull",testnullString);
        String string = "";
        uiModel.addAttribute("stringempty", string);
        List<Integer> list = new ArrayList<Integer>();
        uiModel.addAttribute("listempty", list);
        List<Integer> list2 = null;
        uiModel.addAttribute("listnull", list2)

页面

    正确--><span>当是没有加入attribute中的对象的时候:${notexit}</span><br/>
            正确--><span>当是没有加入attribute中的对象的时候:$!{notexit}</span><br/>
            正确--><span>当是没有加入attribute中的对象的时候:#if(!$notexit)notexit is null #else notexit is notnull #end</span><br/>
            错误-用if($null.isNull($notexit))来判断一个不存在的属性值-><span>当是没有加入attribute中的对象的时候:#if($null.isNull($notexit))notexit is null #else notexit is notnull #end</span><br/>

            <br/>
            正确--><span>stringempty:${stringempty}</span><br/>
            正确--><span>stringempty:$!{stringempty}</span><br/>
            正确--><span>stringempty:#if(!$stringempty)stringempty is null #else stringempty is notnull #end</span><br/>
            正确--><span>stringempty:#if($null.isNull($stringempty))stringempty is null #else stringempty is notnull #end</span><br/>
            <br/>
            <br/>
            正确--><span>stringnull:${stringnull}</span><br/>
            正确--><span>stringnull:$!{stringnull}</span><br/>
            正确--><span>stringnull:#if(!$stringnull)stringnull is null #else stringnull is notnull #end</span><br/>
            错误-使用null.isNull($stringnull)来判断null字符串-><span>stringnull:#if($null.isNull($stringnull))stringnull is null #else stringnull is notnull #end</span><br/>
            <br/>
            正确--><span>listempty:${listempty}</span><br/>
            正确--><span>listempty:$!{listempty}</span><br/>
            正确--><span>listempty:#if(!$listempty)listempty is null #else listempty is notnull #end</span><br/>
            正确--><span>listempty:#if($null.isNull($listempty))listempty is null #else listempty is notnull #end</span><br/>
            正确--><span>listempty:#if($listempty.size()==0)listempty size is 0 #else listempty size is not 0 #end</span><br/>
            <br/>
            正确--><span>listnull:${listnull}</span><br/>
            正确--><span>listnull:$!{listnull}</span><br/>
            正确--><span>listnull:#if(!$listnull)listnull is null #else listnull is notnull #end</span><br/>
            错误-使用if($null.isNull($listnull)来判断null集合-><span>listnull:#if($null.isNull($listnull))listnull is null #else listnull is notnull #end</span><br/>
            错误-使用if($null.isNull($listnull)来判断null集合-><span>listnull:#if($null.isNull($listnull) ||  $listnull.size()==0)listnull is null or size ==0 #else listnull is notnull or size !=0 #end</span><br/>
            错误-使用if($listnull.size()==0)来判断null集合的长度-><span>listnull:#if($listnull.size()==0)listnull size is 0 #else listnull size is not 0 #end</span><br/>
            正确--><span>listnull:#if(!$listnull || $listnull.size()==0)listnull is null or size ==0 #else listnull is notnull or size !=0 #end</span><br/>


显示图片
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值