Freemaker判断是否为空

情绪无限,而自由的空间有限,因此必须学会控制情绪。——《情商》

最近在开发中,经常遇到freemaker里面某些数据为空时,报错的问题,查询资料发现,需要判断为空来解决报错问题。本文将从各种数据类型来判断是否为空的问题。

1、判断对象为空

(1)freemarker中显示某对象使用${name}.

如果name为null,freemarker就会报错。如果需要判断对象是否为空:

<#if name??>
……
</#if>

当然也可以通过设置默认值${name!”}来避免对象为空的错误。如果name为空,就以默认值(“!”后的字符)显示。

(2)对象user,name为user的属性的情况,user,name都有可能为空,那么可以写成${(user.name)!”},表示user或者name为null,都显示为空。

判断为空:

<#if (user.name)??>

……

</#if>

2、判断Map数据为空

<#if master ?? && (master?size>0)>

    <#list master?keys as key>

    <span>${key}${master[key]!}</span>

    </#list>

  </#if>

3、判断List数据是否为空

<#if tables?exists>

<#list tables as table>

    ${table}

</#list>

</#if>

4、解决为空的问题

(1)加个感叹号可以解决为空的问题

${(emp.group)!}

(2)加上括号,感叹号解决对象导航为空的问题

${(emp.group.name)!"group为空或者name为空"}

(3)感叹号还可以解决未定义为空的问题

```
${(a.b)!("a.b未定义")}

<#--(a.b)??判断a.b是否为空-->

<#if (a.b)??>

   不为空

<#else>

   为空

</#if>

<br/>

${(a.b)???string}
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值