java date传输类型错误_解决springmvc关于前台日期作为实体类对象参数类型转换错误的问题...

页面报错:

9d5baf99cb0a615bc116071a2448068c.png

后台错误:

Field error in object 'user' on field 'birthday': rejected value [2013-06-24]; 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 '2013-06-24'; nested exception is java.lang.IllegalArgumentException]

解决方案1:在对应的实体类属性上加入 @DateTimeFormat(pattern = "yyyy-MM-dd")

0aae01f3f86ae07c939475e5d3834b43.png

解决方案2:不使用 注解

使用 DefaultAnnotationHandlerMapping 和 AnnotationMethodHandlerAdapter 注解驱动配置

在对应的实体类属性上加入 @DateTimeFormat(pattern = "yyyy-MM-dd")

3、使用 @InitBinder注解,注册一个父类Controller(BaseController),其他Controller去继承它

Springmvc配置文件

public class BaseController {

@InitBinder

public void initBinder(WebDataBinder binder) {

/**

* 第一种方式:使用WebDataBinder注册一个自定义的编辑器,编辑器是日期类型

* 使用自定义的日期编辑器,日期格式:yyyy-MM-dd,第二个参数为是否为空 true代表可以为空

*/

binder.registerCustomEditor(Date.class, new CustomDateEditor(

new SimpleDateFormat("yyyy-MM-dd"), true));

}

}

或者使用下面的方式

public class BaseController {

@InitBinder

public void initBinder(WebDataBinder binder) {

/**

* 方式二:使用WebDataBinder注册一个自定义的编辑器,编辑器是日期类型

* 使用属性编辑器实现:重载setAsText,getAsText

*/

binder.registerCustomEditor(Date.class, new PropertyEditorSupport() {

@Override

public String getAsText() {

return new SimpleDateFormat("yyyy-MM-dd")

.format((Date) getValue());

}

@Override

public void setAsText(String text) {

try {

setValue(new SimpleDateFormat("yyyy-MM-dd").parse(text));

} catch (Exception e) {

e.printStackTrace();

setValue(null);

}

}

});

}

}

以上这篇解决springmvc关于前台日期作为实体类对象参数类型转换错误的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值