zoukankan      html  css  js  c++  java
  • Freemarker中的null判断,小坑一枚

    上次写到,在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> 

  • 相关阅读:
    Spring框架:第八章:声明式事务
    Spring框架:第七章:AOP切面编程
    Spring框架:第六章:注解功能
    Jmeter之WebService接口测试
    Jmeter中的参数化常用的几种方式
    Jmeter之定时器
    Jmeter之断言——检查点
    Jmeter重要组件介绍(一)
    Jmeter中之各种乱码问题解决方案
    Jmeter之https请求
  • 原文地址:https://www.cnblogs.com/qitian1/p/6463072.html
Copyright © 2011-2022 走看看