easyUI中easyui-datebox在form提交时页面报错400bad request

java代码
图片说明
页面报错信息
图片说明
后台报错信息
Field error in object 'user' on field 'birthday': rejected value [2017-03-08]; codes [typeMismatch.user.birthday,typeMismatch.birthday,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [user.birthday,birthday]; arguments []; default message [birthday]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'birthday'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type java.lang.String to type java.util.Date for value '2017-03-08'; nested exception is java.lang.IllegalArgumentException]
2017-03-31 09:10:21,692 [http-bio-8081-exec-2] [org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver]-[DEBUG] Resolving exception from handler [public cn.com.hahs.common.vo.SysResult cn.com.hahs.manage.controller.UserController.saveUser(cn.com.hahs.manage.pojo.User)]: org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors

我在使用easyUI框架的时候出现的这个问题,请问该怎么解决。我是做java后台开发的,现在公司就我一个人在搞这个项目。急!!

1个回答

将user实体类的birthday类型改为String类型

qq_36224522
Onion-- 回复bad_yixiong: 你用的springmvc,这是springmvc在封装日期类型的时候出错了,你可以试一下2017-03-08 00:00:00 这样的格式能不能封装成功,还有你使用date类型的时候在参数封装成json到前台的时候日期类型的会被封装成一个json对象这样在easyui显示的时候又要去把日期的json对象转成日期字符串,比较麻烦,包括在数据库封装日期类型的数据的时候不同的数据库以及数据库驱动版本不一样容易导致日期类型封装失败。所以我推荐java实体类的日期类型用String或者你可以设置数据库日期类型为bigint,这样可以把实体类类型改为Long用时间的毫秒数来存。
3 年多之前 回复
bad_yixiong
bad_yixiong 谢谢,成功了,不需要那么麻烦。只需要按你说的改一下就OK了。
3 年多之前 回复
bad_yixiong
bad_yixiong 回复bad_yixiong: 页面传值是只能传递String类型么?那我是不是在user实体类中新增一个String类型的strBirthday,然后再转换成Date类型的Birthday,就可以解决了?
3 年多之前 回复
bad_yixiong
bad_yixiong 可不可以在页面把类型再转换为date型呢?
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问