您的位置:首页 > 编程语言 > Java开发

SpringMVC3.0+myBatis3.2整合的显示和添加功能中时间问题解决

2015-01-14 15:25 387 查看
这段时间,我在网上看见,数据访问框架除了hibernate,还有不少的公司使用mybatis,边在网上下了mybatis,自己做一个springmvc+mybatis整合的小Demo,发现使用springmvc来处理时间好纠结,花了一天的时间,在网上找了大量的资料和看了官方的Demo,用了相对比较猥琐的办法,解决了问题!废话不多说,下面上菜:首先,是显示问题,大家都知道springmvc会把数据库中查出来的Date时间,使用Jackson传到前台会转成毫秒数也就是一长串数字(如:“hiredate”:"142714380000000"),这个问题,我在网上看了很多前辈的解决办法,我都试过,但是很遗憾,都不适合我!没办法,只能想,在js中用个方法吧毫秒数转成正常的时间显示,如下
$.each(data,function(i,emp){str+="<tbody align='center'><tr>";str+="<td>"+emp.empno+"</td>";str+="<td>"+emp.ename+"</td>";str+="<td>"+emp.job+"</td>";<strong><span style="color:#ff0000;">var newdate=jsondate(emp.hiredate);str+="<td>"+newdate+"</td>";</span></strong>});
就是这两行,其中jsondate(emp.hiredate)是个function方法,如下:
function jsondate(date){var datetime = new Date(date);var year=datetime.getFullYear();//月份重0开始,所以要加1,当小于10月时,为了显示2位的月份,所以补0var month = datetime.getMonth() + 1 < 10 ? "0" + (datetime.getMonth() + 1) : datetime.getMonth() + 1;var date = datetime.getDate() < 10 ? "0" + datetime.getDate() : datetime.getDate();var hour = datetime.getHours()< 10 ? "0" + datetime.getHours() : datetime.getHours();var minute = datetime.getMinutes()< 10 ? "0" + datetime.getMinutes() : datetime.getMinutes();var second = datetime.getSeconds()< 10 ? "0" + datetime.getSeconds() : datetime.getSeconds();return year + "-" + month + "-" + date+" "+hour+":"+minute+":"+second;}
OK,上面的时间显示问题,算是解决了接下来就是添加时的问题了,相信大家,如果第一次使用springmvc添加时间都会报错:org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors这种情况就是springmvc识别不了你输入的时间,导致转换不了,所以报错,别怕,解决的方法如下:首先,需要下载一个joda-time-2.1.jar包,然后在实体domain的时间类型属性上配置
@DateTimeFormat(pattern="yyyy-MM-dd")private Date hiredate;
OK,现在保存项目,再去运行,问题解决!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐