Freemarker中的null判断,小坑一枚
来源:互联网 发布:pmp培训 知乎 编辑:程序博客网 时间:2024/05/29 16:18
上次写到,在Freemarker中日期转换,可以提取成工具方法。主要是Freemarker对null的处理方式,非常坑爹。只要一个对象或对象的属性为null,就报错,虽然不影响界面显示,但控制台和日志总是打印“错误信息”,很是不爽。所以,想写方法判断对象是否为null,再做正确的显示。
上次写的2个Freemarker函数,实际过程中只用到了第1个,正常。
把int类型的日期转换成字符串
<#function number_to_ymdhms date>
<#if date != null>
<#setting datetime_format="yyyy-MM-dd hh:mm:ss"/>
<#return date?number_to_datetime/>
</#if>
<#return ""/>
</#function>
把date类型的日期转换成字符串
<#function date_to_ymdhms date>
<#if date != null>
<#return date?string('yyyy-MM-dd hh:mm:ss')/>
</#if>
<#return ""/>
</#function>
后来,项目中用到了第2个方法,但是日期没有显示出来,debug发现date不是null,这是为什么呢?
最后确定,date != null 有问题。
结论:number类型(当然包number类型的日期),可以与null比较,即date!=null.
而对象类型,不能直接与null进行比较,应该用date?exists (复数) 。
date类型比较:
<#function date_to_ymdhms date>
<#if date?exists>
<#return date?string('yyyy-MM-dd hh:mm:ss')/>
</#if>
<#return ""/>
</#function>
- Freemarker中的null判断,小坑一枚
- FreeMarker中的null处理
- freemarker对于 null 值判断
- freemarker判断对象是否为null方法
- freemarker判断对象是否为null方法
- freemarker中空值“”,null值的判断
- Linq 中的NULL判断
- freemarker判断对象是否为null的方法
- freemarker中的null异常处理以及!与??的使用
- freemarker中的null异常处理以及!与??的使用
- vb中判断SQL中的NULL值
- freemarker 处理null值
- freemarker等于null
- 判断(null) <null>
- freemarker关于null的问题
- freemarker关于null的问题
- freemarker 对null 的处理
- SqlDataReader读取数据库中的null值时的判断
- hud2036 求多边形面积
- test
- C++对C的扩充
- C# Advanced
- 唤醒锁: 检测 Android* 应用中的 No-Sleep(无法进入睡眠)问题
- Freemarker中的null判断,小坑一枚
- Codeforces 5A. Chat Server's Outgoing Traffic
- Android ListView使用详解
- w3school javascript教程:JS基础
- 清明记事
- 五大常用算法
- java中的堆、栈、常量池
- 敏捷开发入门篇
- OpenStack实战演练