簡體   English   中英

freemarker計算表達式但不顯示值

[英]freemarker evaluates expression but doesn't display value

我正在將一個bean發送到一個freemarker頁面,該bean有一個object類型的字段:

${myBean.myObject.DDate}

當我使用此表達式時,我確定要評估的值是因為當我在myObject.getDDate()方法中放置一個斷點時,調試器就到達了那里,問題是表達式字符串顯示為輸出:

${myBean.myObject.DDate}

當我嘗試${myBean.myObject} myObject.toSring() ,顯示正確

${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")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM