解决: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‘;发生这一错误的主要原因是Controller类中需要接收的是Date类型,但是在页面端传过来的是String类型,最终导致了这个错误。这里提供两种解决方案,一种是局部转换,一种是全局转换。一.局部转换@ControllerpublicclassUserController{ @RequestMapping(value=”/login.do”) publicStr

大家好,又见面了,我是你们的朋友全栈君。

关注微信公众号“假装正经的程序员”,回复“日期转换”即可获取解决方案

发生这一错误的主要原因是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>

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

一.局部转换

@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) {
		
		//转换日期
		DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));// CustomDateEditor为自定义日期编辑器
	}
}

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

二.全局转换

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;

/**
 * @作者:JackHisen(GWD)
 * @项目名:shoppingmall
 * @时间:2017-7-12 下午10:39:10
 * @version 1.0
 */
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>
	</bean>
	
	<bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/back_page/"/>
		<property name="suffix" value=".jsp"/>
	</bean>
</beans>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158425.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月13日 下午4:16
下一篇 2022年7月13日 下午4:16


相关推荐

  • Hive_ Hive 建表语句详解

    Hive_ Hive 建表语句详解参考文章 https blog csdn net article details 最近博主在编写一个每天定时创建 Hive 分区的脚本 其中需要创建 Hive 表 开始的时候我以为创建 Hive 表的语句顺序是比较宽松的 经过测试发现不然 Hive 创建表需要比较固定的书写顺序虽然暂时不知道这个顺序 可以查阅什么样的文档找到 如果知道的

    2026年3月26日
    2
  • MATLAB参数估计 置信区间

    MATLAB参数估计 置信区间矩估计 moment X 2 通用命令 mle 格式 输出参数项 mle 分布函数名 X alpha N 说明 分布函数名有 bino 二项 geo 几何 hyge 超几何 poiss 泊松 uinf 均匀 unid 离散均匀 exp 指数 norm 正态 t T 分布 f F 分布 beta 贝塔 gam 伽吗 N 当为二项分布时需要 其他没有 正态总体的参数估计 z 2 14 2 10 2 13 2 15 2 13 2 12 2 13

    2025年6月17日
    4
  • 诺基亚申请MDT测量配置方法及装置专利,向核心网节点发送MDT测量配置

    诺基亚申请MDT测量配置方法及装置专利,向核心网节点发送MDT测量配置

    2026年3月14日
    2
  • MySQL自增主键详解「建议收藏」

    MySQL自增主键详解「建议收藏」一、自增值保存在哪儿?不同的引擎对于自增值的保存策略不同1.MyISAM引擎的自增值保存在数据文件中2.InnoDB引擎的自增值,在MySQL5.7及之前的版本,自增值保存在内存里,并没有持久化。每次重启后,第一次打开表的时候,都会去找自增值的最大值max(id),然后将max(id)+步长作为这个表当前的自增值selectmax(ai_col)fromtable_namefor…

    2022年6月7日
    90
  • Python数据分析实例

    Python数据分析实例Python数据分析Python爬取网页数据

    2022年4月28日
    48
  • 开源crm管理系统源码_客户关系管理的内容

    开源crm管理系统源码_客户关系管理的内容CRM管理系统源码,客户关系管理系统源码开发语言:PHP数据库:Mysql开发工具:phpstrom源码类型:WebForm系统功能简介:1、系统管理:1.部门管理2.岗位管理3.员工管理4.角色管理5.日志管理2、客户管理:客户管理:客户列表、客户联系人、服务记录 销售管理:销售机会、跟踪记录、产品报价、项目报备 合同管理:合同详细、新增合同 订单管理:广告订单、执行计划、订单执行、收款记录3、库存管理:1.入库管理…

    2025年12月9日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号