关于JavaDate数据返回到前端变数字的问题(并引申到前后端时间的传输)
不知道为什么,前端显示的所有数据项都没有错,就只有时间那一项很奇怪,是一串数字,而且这个数字在数据库怎么都找不到…… 然后我在后端从service到controller都debug了一遍,发现数据都没有错,拿的都是时间啊。 后来百度知道,原来后台在返回json数据的时候,用自身的序列化机制会把时间变成一段很长的数字,就像上面的显示一样。 然后这里就要用到一个东西: @JsonFormat,它的作用是,出参时,自动把Date型对象数据转化成正确的格式化后的字符串出去 效果: 然后又通过度娘知道,还有个注解 @DateTimeFormat 这个是用于将前台传到后台字符串变量转换为Date类型。请求报文只需要传入yyyymmddhhmmss字符串进来,则自动转换为Date类型数据。(不过好像前端要传的是json) 这里也有个小例子: 前端只传了一个 格式正确的 时间字符串 layer.open({ type : 2, title : '归档详情', //btn: ['选中', '取消'], shade : false, area : [ '900px', '600px' ], maxmin : true, content : gateUrl.UiUrl + '/productbaseEdition?eTime=' + edition.table.bootstrapTable(