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

最近在开发中,经常遇到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}

Freemaker判断是否为空相关推荐

  1. oracle判断非空并拼接,oracle sql 判断字段非空,数据不重复,插入多跳数据

     oracle sql 判断字段非空,数据不重复 select distinct(mobile) from wx_user_mobile where active_time is not null ...

  2. ***PHP中判断变量为空的几种方法

    总结PHP中,"NULL" 和 "空" 是2个概念. isset  主要用来判断变量是否被初始化过 empty  可以将值为 "假".&qu ...

  3. ios开发判断字符串为空_【开发常识】这个问题,直接导致年终奖没了……(惨兮兮)...

    关注"Java后端技术全栈" 回复"面试"获取全套面试资料 在项目中,我们基本上都会有个StringUtils工具类,用来处理字符串相关的操作,比如:判空,长度 ...

  4. 判断不为空和不为空串的方法java

    判断不为空和不为空串的方法 方法一:用StringUtils工具类 首先要引入依赖 <dependency><groupId>org.apache.commons</gr ...

  5. php判断是否是关联数组,php 关联数组判断是否为空

    先看一个关联数组判断为空的代码,然后我们详细讲讲关于数据空的处理. $array = array(0); if(empty($array)){ echo "我空了 "; }else ...

  6. php如何判断二维数组为空,PHP判断数组为空的具体方式

    在学习PHP语言的时候,初学者往往会对数组感到一些棘手.不过在通过深入的学习之后,我们会发现,这些其实并没有想象中的困难.我们今天就要向大家介绍PHP判断数组为空的具体方式,希望能让新手们了解一些新知 ...

  7. mybatis判断集合为空或者元素个数为零

    mybatis判断集合为空或者元素个数为零: <if test="mlhs != null and mlhs.size() != 0">and t.mlh_name n ...

  8. 集合判断哪非空 、2个集合取交集/并集/差集

    文章目录 <dependency><groupId>org.apache.commons</groupId><artifactId>commons-co ...

  9. mysql 判断等于空字符串_mysql 判断null 和 空字符串

    1.在mysql中null 不能使用任何运算符与其他字段或者变量(函数.存储过程)进行运算.若使用运算数据就可能会有问题. 2.对null 的判断: 创建一个user表:id 主健 name 可以为空 ...

最新文章

  1. VUE-CLI webpack配置autoprefixer后build模式与dev不相同,打包后部分前缀或属性丢失,所见即所得...
  2. sl中几个简单变量的获取
  3. 19道小米运维面试题
  4. css优先级和权重问题
  5. 如何使用Kubernetes官网的免费测试集群学习Kubernetes操作
  6. [转载] python中的numpy模块和pandas模块的区别_numpy 模块和 pandas 模块
  7. 实习 | 京东金融个人风险管理中心(地点:北京)
  8. jQuery常用属性过滤选择器
  9. webqq linux,Ubuntu下WebQQ桌面化替代方案完美版
  10. Java文件上传【通用】
  11. 百度 php 图片文字识别,使用百度接口实现图片识别文字
  12. OpenCV学习01-加载、修改、保存图像
  13. 联发科MTK(3G,4G,5G)核心板/芯片简介
  14. Codeforces 1146G Zoning Restrictions dp
  15. word里如何在□里打√!框框里打勾
  16. 人工智能的“斯芬克斯之谜”
  17. Web Components 的使用,从入门到基础
  18. 推荐Mac壁纸App
  19. 云盘秒传原理的探讨——哈希查找与数据去重
  20. React.js学习(二)、三大属性statepropsref

热门文章

  1. java 视频边下边播,android 边下边播放mp3完美实现(有缓冲和播放进度效果)
  2. 累加数Python解法
  3. java实验三正式报告
  4. 我们使用 Kafka 生产者在发消息的时候我们关注什么(Python 客户端 1.01 broker)...
  5. PostgreSQL 从cmin/cmax到combo cid
  6. windows运行库文件
  7. vue后台管理开发所遇到的问题及解决办法
  8. 钉钉视频下载方法地瓜网络钉钉视频下载器
  9. 关于概率论和模糊数学的区别
  10. typora+PicGo上传图片 配置免费图床