全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

页面报错:

后台错误:

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")

解决方案2:不使用 <mvc:annotation-driven/>注解

使用 DefaultAnnotationHandlerMapping 和 AnnotationMethodHandlerAdapter 注解驱动配置

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

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
      <property name="webBindingInitializer">
        <bean class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">
          <property name="conversionService">
            <bean class="org.springframework.format.support.FormattingConversionServiceFactoryBean"/>
          </property>
        </bean>
      </property>
    </bean>

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

Springmvc配置文件 

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
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关于前台日期作为实体类对象参数类型转换错误的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# spring  # mvc  # 类型转换  # 如何使用SpringMVC的消息转换器设置日期格式  # SpringMVC中日期格式的转换  # SpringMVC对日期类型的转换示例  # SpringMVC用JsonSerialize日期转换方法  # SpringMVC自定义日期转换器方式  # 编辑器  # 自定义  # 给大家  # 为空  # 实体类  # 希望能  # 第二个  # 这篇  # 报错  # 小编  # 第一种  # 配置文件  # 大家多多  # Failed  # message  # context  # springframework  # org  # default  # DefaultMessageSourceResolvable 


相关文章: 专业商城网站制作公司有哪些,pi商城官网是哪个?  如何确保FTP站点访问权限与数据传输安全?  高防服务器:AI智能防御DDoS攻击与数据安全保障  建设网站制作价格,怎样建立自己的公司网站?  太平洋网站制作公司,网络用语太平洋是什么意思?  如何通过智能用户系统一键生成高效建站方案?  如何选择服务器才能高效搭建专属网站?  移民网站制作流程,怎么看加拿大移民官网?  企业微网站怎么做,公司网站和公众号有什么区别?  如何设置并定期更换建站之星安全管理员密码?  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  盘锦网站制作公司,盘锦大洼有多少5G网站?  网站制作公司,橙子建站是合法的吗?  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  如何在服务器上三步完成建站并提升流量?  小程序网站制作需要准备什么资料,如何制作小程序?  如何确保西部建站助手FTP传输的安全性?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  ,购物网站怎么盈利呢?  如何通过NAT技术实现内网高效建站?  建站与域名管理如何高效结合?  建站之星在线版空间:自助建站+智能模板一键生成方案  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  如何通过二级域名建站提升品牌影响力?  如何在Golang中使用replace替换模块_指定本地或远程路径  临沂网站制作企业,临沂第三中学官方网站?  如何解决ASP生成WAP建站中文乱码问题?  建站之星代理费用多少?最新价格详情介绍  佛山企业网站制作公司有哪些,沟通100网上服务官网?  宝塔建站无法访问?如何排查配置与端口问题?  西安大型网站制作公司,西安招聘网站最好的是哪个?  网站制作难吗安全吗,做一个网站需要多久时间?  如何用狗爹虚拟主机快速搭建网站?  如何在阿里云通过域名搭建网站?  如何破解联通资金短缺导致的基站建设难题?  郑州企业网站制作公司,郑州招聘网站有哪些?  建站之星安装失败:服务器环境不兼容?  建站168自助建站系统:快速模板定制与SEO优化指南  深圳网站制作案例,网页的相关名词有哪些?  ,有什么在线背英语单词效率比较高的网站?  建站之星如何通过成品分离优化网站效率?  深圳网站制作平台,深圳市做网站好的公司有哪些?  如何获取上海专业网站定制建站电话?  如何注册花生壳免费域名并搭建个人网站?  如何在Golang中引入测试模块_Golang测试包导入与使用实践  建站主机数据库如何配置才能提升网站性能?  建站主机类型有哪些?如何正确选型  如何通过云梦建站系统实现SEO快速优化?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。