相关文章推荐
调皮的小笼包  ·  RabbitMQ消息Json序列化Could ...·  2 月前    · 
面冷心慈的马铃薯  ·  2024年重庆市职称“绿色通道”评审认定结果公示·  9 月前    · 
冷冷的香菜  ·  微软Bing如何使用ChatGPT? - 知乎·  1 年前    · 
买醉的煎饼果子  ·  JAVA实现PDF模板图片套打,iText7 ...·  1 年前    · 
奔跑的小虾米  ·  正在清理git存储库BFG ...·  1 年前    · 
逃跑的棒棒糖  ·  使用electron脚手架electron- ...·  1 年前    · 
Code  ›  解决:Failed to convert value of type 'java.lang.String' to required type 'java.util.Date';的方法开发者社区
string convert
https://cloud.tencent.com/developer/article/1332690
千杯不醉的红豆
1 年前
作者头像
Dream城堡
0 篇文章

解决:Failed to convert value of type 'java.lang.String' to required type 'java.util.Date';的方法

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > Spring相关 > 解决:Failed to convert value of type 'java.lang.String' to required type 'java.util.Date';的方法

解决:Failed to convert value of type 'java.lang.String' to required type 'java.util.Date';的方法

作者头像
Dream城堡
发布 于 2018-09-10 12:45:33
116.4K 1
发布 于 2018-09-10 12:45:33
举报

解决:Failed to convert value of type 'java.lang.String' to required type 'java.util.Date';

发生这一错误的主要原因是Controller类中需要接收的是Date类型,但是在页面端传过来的是String类型,最终导致了这个错误。

这里提供两种解决方案,一种是局部转换,一种是全局转换。

<form action="login.do" method="post">
        <input type="text" name="birthday" value="2017-07-12 22:04:00">
        <input type="submit" value="提交">
</form>

一.局部转换

@Controller
public class UserController{
    @RequestMapping(value="/login.do")
    public String login(String username,Date birthday){
        System.out.println("________");
        return "";
        //只需要加上下面这段即可,注意不能忘记注解
    @InitBinder
    public void initBinder(WebDataBinder binder, WebRequest request) {
        //转换日期 注意这里的转化要和传进来的字符串的格式一直 如2015-9-9 就应该为yyyy-MM-dd
        DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));// CustomDateEditor为自定义日期编辑器
}

二.全局转换

1.创建CustomDate类实现WebBindingInitializer

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.support.WebBindingInitializer;
import org.springframework.web.context.request.WebRequest;
public class CustomDate implements WebBindingInitializer{
    @Override
    public void initBinder(WebDataBinder binder, WebRequest request) {
        // TODO Auto-generated method stub
        //转换日期
        DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}

2.在Spring-MVC.xml中配置日期转换

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
     http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
    <context:component-scan base-package="com.gwd.shopping" use-default-filters="false">
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>
    <!-- 日期转换 -->
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="webBindingInitializer">
            <bean class="com.gwd.shopping.core.web.CustomDate"/>
        </property>
 
推荐文章
调皮的小笼包  ·  RabbitMQ消息Json序列化Could not convert incoming message with content-type
2 月前
面冷心慈的马铃薯  ·  2024年重庆市职称“绿色通道”评审认定结果公示
9 月前
冷冷的香菜  ·  微软Bing如何使用ChatGPT? - 知乎
1 年前
买醉的煎饼果子  ·  JAVA实现PDF模板图片套打,iText7将图片添加到PDF中,轻松操作PDF,模板生成PDF文件,电子合同,电子PDF操作必备技能_哔哩哔哩_bilibili
1 年前
奔跑的小虾米  ·  正在清理git存储库BFG Repo-Cleaner -推送后,repo大小仍然很大 - 问答 - 腾讯云开发者社区-腾讯云
1 年前
逃跑的棒棒糖  ·  使用electron脚手架electron-vue_electron–vue官网_马优晨的博客-CSDN博客
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号