问题描述:
是这样的,最近在搞课程设计。然后涉及到一个layui表格显示从MySql中读取的数据,其中有一个为入库时间,类型为datetime,在前端页面显示为一段数字。
我的实体类中定义了一个Date类型数据:
private Date date;
在前端页面中,layui表格显示的数据代码:
table.render({
elem: '#inputInfoTable',
url:'${pageContext.request.contextPath}/inputshop?method=selectAllInputshop',
parseData:function(result){
return{
"code":0,//layui框架必须得到code为0认为查询成功
"msg":result.message,//错误信息
"count":result.count,//数据总条数
"data":result.list//要显示的数据
}
},
page:true,//开启分页
limits:[5,10,15,20],//控制每页显示多少条数据
cols: [[
{field:'ipid', title: '入库单号'},
{field:'date', title: '入库时间',sort:true},
{field:'username', title: '经办人'},
{field:'webhouse', title: '入库仓库',
templet:function(d){
if(d.webhouse=="house1"){return "一号仓库";}
else if(d.webhouse=="house2"){return "二号仓库";}
else if(d.webhouse=="house3"){return "三号仓库";}
else return "四号仓库";
}
},
{field:'remark', title: '备注'},
{fixed: 'right', title:'操作', toolbar: '#rowbar'}
]]
});
因为需要有修改功能,所以我又设置了一个弹出框,用来实现修改功能。如图:
因为需要重置填写的信息,我得获取上面三项的数据并在表单元素中显现。
form.val('inputFormFilter',{ //预加载
'date':obj.data.date,
'remark':obj.data.remark
});
解决方法
刚开始我的解决格式问题的方式是:在cols中的date处设置时间格式
cols: [[
-----------
{field:'date', title: '入库时间',sort:true,
templet : function(value){
return layui.util.toDateString(value.date);
}}//改变时间显示格式
------------
]]
这个方法可以使时间的格式变成:yyyy-MM-dd HH:mm:ss
这个时候表格是可以了,但是它弹出层格式没设置呀。
然后我意识到可以从源头找起,直接把实体类中的date格式变了不就行了?
然后在度娘的帮助下,最终我的实体类date成了这样
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date date; //入库时间
小小一句话直接从源头解决了问题。看来代码是最讲理的:对就是对,错就是错(🐕)