我将bean发送到freemarker页面,bean有一个object类型的字段:
${myBean.myObject.DDate}
当我使用这个表达式时,我确定自从我在myObject.getDDate()
方法中放置一个断点以来调试器到达那里时所评估的值,问题是表达式字符串是显示为输出:
${myBean.myObject.DDate}
当我尝试正确显示${myBean.myObject} myObject.toSring()
时
答案 0 :(得分:0)
${myBean.myObject.DDate}
可能会抛出异常,如果myObject或DDate为null,那么为了安全起见先检查它,然后从中获取值,如下所示
<#if myBean.myObject.DDate}??>
// you need to get it as ?string(data_time_format_goes_here)
date:${myBean.myObject.DDate?string("yyyy-MM-dd")}
date:${myBean.myObject.DDate?string("yyyy-MM-dd hh:mm:ss")}
//FreeMarker also contains different built-ins for formatting dates
date:${myBean.myObject.DDate?time}
date:${myBean.myObject.DDate?date}
date:${myBean.myObject.DDate?datetime}
</#if>
FreeMarker还包含用于格式化日期http://freemarker.org/docs/ref_builtins_date.html
的不同内置插件更新仅适用于最新版本的FreeMarker 2.3.17,即使您可以通过配置对象设置日期时间格式,也可以看到FTL端和服务器端的更改。
//config.setDateFormat("yyyy-MM-dd");
//config.setDateTimeFormat("yyyy-MM-dd HH:mm:ss.SSS")