freemarker的时间显示如何处理啊

2019-03-25 13:37|来源: 网路

我对freemarker不熟悉
我的工程:struts2+spring+hiberante+freemarker

一个时间字段:createdate
java类型是:Calendar ,mysql类型:Timestamp,hibernate类型:Calender

数据库中存数的数据:2009-12-29 13:28:24
我想要页面上显示:2009-12-29 13:28:24 这个样子

页面上是freemarker输出的


怎么实现呢?

问题补充:
<#setting datetime_format="yyyy-MM-dd HH:mm:Ss"/>
可不可以说的详细点
这是在哪里setting的、、

我的页面显示:
这块的循环代码
          
           <#if page??  >
        <#list page.data  as a>
        <#if a.id??>
        <tr>
<th> ${a.createdate}这里的时间
&nbsp;|&nbsp;${a.ip}</th>
<th width="100">${a.score}</th>
<th width="80"><a href="../pj/replylist?id=${a.id}">回复</a></th>
</tr>
        </#if> <br/>
        </#list>
        </#if>

我这里的时间createdate从数据库查询输出后是这么段玩意:
java.util.GregorianCalendar[time=1262064504000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2009,MONTH=11,WEEK_OF_YEAR=1,WEEK_OF_MONTH=5,DAY_OF_MONTH=29,DAY_OF_YEAR=363,DAY_OF_WEEK=3,DAY_OF_WEEK_IN_MONTH=5,AM_PM=1,HOUR=1,HOUR_OF_DAY=13,MINUTE=28,SECOND=24,MILLISECOND=0,ZONE_OFFSET=28800000,DST_OFFSET=0]  | 192.168.1.1 

问题补充:
再补充一个 freemarker的属性文件freemarker.properties
在哪里配置一下。才能在整个工程中起作用呢?
问题补充:
再补充一个 freemarker的属性文件freemarker.properties
在哪里配置一下。才能在整个工程中起作用呢?

不好意思重复了。是积分不够没办法发俩帖子。
问题补充:
我的页面没有用struts2的标签,只是普通的html。加freemarker标签。而且页面文件的后缀是.html.不是.ftl

你说的<#setting datetime_format="yyyy-MM-dd HH:mm:Ss"/>
在我的页面中不起作用

我用freemarker.properties也不起作用 。
问题补充:
因为mysql库中。我设置的这个字段为Timestamp类型,java中设置这个字段为Calendar类型。

问题补充:
java代码:Date类型
mysql字段:timestamp类型
hiberante映射:timestamp类型

模板页面加上:<#setting datetime_format="yyyy-MM-dd HH:mm:Ss"/>
模板页面显示:${a.createdate}

果然得到结果:2009-12-29 13:28:024

可以了。感谢蔡华江 (架构师) 2

相关问答

更多
  • freemarker是个模板引擎,她的作用是用来解析你定制的模板,结构是模板加商数据,将数据放入Map中,在ftl模板中来用${name} 来取当中的值,你想在页面获得系统时间,你可以在map中加入一个entry ,key是sysTime,value是new Date(), 然后在页面中用${sysTime?String("yyyy-MM-dd")}来进行系统时间的获得 方便的一B呵呵
  • 只想得到大小还是可以的,差距就不行了。 ${("20120823 12:12:12"?date("yyyyMMdd HH:mm:ss") gt "20120823 13:13:13"?date("yyyyMMdd HH:mm:ss"))?string("大","小")} 或者 <#if "20120823 12:12:12"?date("yyyyMMdd HH:mm:ss") gt "20120823 13:13:13"?date("yyyyMMdd HH:mm:ss")>大<#else& ...
  • html转义的问题 数据里里可以直接存带标签的比如 一句话 ,程序里不要进行任何处理 在Freemarker中如果想显示不带格式的,用 ${productDetail?html} 如果想显示HTML格式的 ${productDetail} 就可以 简单的说, 你想把 标签作为文字显示,${productDetail?html},此时页面的文字会显示 一句话 想把这段话显示成红色的,${productDetaill}
  • 不推荐。 要使用FreeMarker的标签必须能够被FreemarkerServlet截获,然后解析加工成HTML 所以你直接上线FTL页,为什么要静态和动态Web模板混合它 如果你真的想用。 。 web.xml文件中的freemarker拦截(拦截器开发的*。html页面)
  • 只想得到大小还是可以的,差距就不行了。 ${("20120823 12:12:12"?date("yyyyMMdd HH:mm:ss") gt "20120823 13:13:13"?date("yyyyMMdd HH:mm:ss"))?string("大","小")} 或者 <#if "20120823 12:12:12"?date("yyyyMMdd HH:mm:ss") gt "20120823 13:13:13"?date("yyyyMMdd HH:mm:ss")>大<#else>小 显示结果是:小 ...
  • freemarker只是展示模板/ 可以自定义个宏,采用js来处理,或者直接在后台直接处理了。。。
  • 这就是我通常这样做的方式: dateIssued?datetime("MM/dd/yyyy hh:mm a") 要么 dateIssued?datetime("hh:mm a") 要么 dateIssued?datetime("MM/dd/yyyy") 只需确保传入模型java.util.Date 所以我只是一直使用日期时间。 希望这会帮助你。 This is how i usually do it: dateIssued?datetime("MM/dd/yyyy hh:mm a") or date ...
  • 默认情况下,FreeMarker没有自动转义,因此它应该将该值打印为HTML。 但正如你所说,我可以想象两种可能性: 你在<#escape x as x?html>...里面<#escape x as x?html>... ,或者是由自定义TemplateLoader添加到TemplateLoader 。 在这种情况下,在2.3.x中你必须编写<#noescape>${htmlCode} 。 (在2.4中,如果一切按计划进行,那将会更加冗长。) ...
  • 使用
    标记保留新行。 
        
    ${description}
    如果不需要默认的等宽字体,可以设置
    元素的样式。 Use the 
     tag to preserve the new lines. 
        
    ${description}
    You can style the
     element if you don't want the default m  ...
                                            
  • 使用?long运算符: .now?long 毫秒,或 ${.now?long / 1000} 几秒钟 Use the ?long operator: .now?long for milliseconds, or ${.now?long / 1000} for seconds