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}

猜你喜欢

转载自blog.csdn.net/zhoutaochun/article/details/79822463