1. 程式人生 > >FreeMarker中顯示Calendar數據類型

FreeMarker中顯示Calendar數據類型

real nim mar rtt offset dst ise false sed

Controller中,回填到模板的的一個數據類型是Calendar,在前端顯示的時候,直接顯示會報錯,比如模板中這樣寫${submitDate},會出現如下的錯誤:

java.util.GregorianCalendar[time=-2209017600000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=java.util.SimpleTimeZone[id=,offset=28800000,dstSavings=3600000,useDaylight=false,startYear=0,startMode=0,startMonth=0,startDay=0,startDayOfWeek=0,startTime=0,startTimeMode=0,endMode=0,endMonth=0,endDay=0,endDayOfWeek=0,endTime=0,endTimeMode=0],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=1900,MONTH=0,WEEK_OF_YEAR=1,WEEK_OF_MONTH=1,DAY_OF_MONTH=1,DAY_OF_YEAR=1,DAY_OF_WEEK=2,DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=28800000,DST_OFFSET=0]

這麽一個簡單的問題,搜遍全網,竟然沒有答案。復雜點的方法,就是在Controller中實現一個轉換方法,然後在FreeMarker模板中調用該方法。

後來有搞了很久,其實解決的方法很簡單:

${submitDate.time?string["yyyy-MM-dd HH:mm:ss"]}

希望能幫到被同樣問題困惑的人。

FreeMarker中顯示Calendar數據類型