Extjs grid整合Springmvc正确显示时间

来源:互联网 发布:羽毛笔哈利波特淘宝 编辑:程序博客网 时间:2024/05/19 10:35

一、问题描述:使用extjs去请求后台数据的时候,返回json时,时间类型被转换成long型。如何解决?
这里写图片描述
所以在extjs中,显示不出来时间!
这里写图片描述
二、原因分析:后台在返回数据的时候出现了问题。没把对时间类型进行特殊的处理
这里写图片描述

三、解决方式:
a)使用@JsonFormat标签在get()方法上表明你要返回的格式

@JsonFormat(pattern = "yyyy/MM/dd HH:mm:ss",timezone="GMT+8")

这里写图片描述
b)在前端使用Ext.util.Format.dateRenderer(‘Y/m/d H:i:s’)。接受

{text: '创建时间',sortable:true ,dataIndex:'createTime'  ,width:125,         renderer:Ext.util.Format.dateRenderer('Y/m/d H:i:s')},

这里写图片描述
第二种解决方法:
在extjs中将long型时间戳转化成时间类型

columns: [        {text: 'ID'       ,sortable:true ,dataIndex:'id',hidden:true},        {text: '订单编号' ,sortable:true ,dataIndex:'orderNumber' ,width:120},        {text: '创建时间'  ,sortable:true ,dataIndex:'createTime'  ,width:125,         //renderer:Ext.util.Format.dateRenderer('Y/m/d H:i:s')                renderer:function(time){                                                        return Ext.util.Format.date(new Date(time),'Y/m/d H:i:s');                        }},        {text: '优先级',sortable:true ,dataIndex:'level'    ,width:125},        {text: '价格'       ,sortable:true ,dataIndex:'price' ,flex:1}    ],

这里写图片描述