Failed to convert from type java.lang.String to type java.util.Date

Failed to convert from type java.lang.String to type java.util.Date for value ‘2010-12-13 11:19:05’; nested exception is java.lang.IllegalArgumentException

前端html页面把一些数据做成表单发给后台,后台使用封装对象去接收,出现上述异常(无效参数异常),而且通过断点调试,根本无法进入controller层中的方法。

jsp

		<tr>
			<td>下单时间</td>
			<td>
				<input type="text" name="orderTime" 
						value='<fmt:formatDate value="${order.orderTime}"
                            pattern="yyyy-MM-dd HH:mm:ss" />'/>
					
			</td>
		</tr>

controller

	@RequestMapping("/orderUpdate")
	public String orderUpdate(Order order){
//		System.out.println(order.getOrderTime());
		orderService.orderUpdateById(order);
		return "redirect:/orderList";
	}

由于表单提交的日期为String类型,Order对象中orderTimer类型为Date,表单数据无法封装为对象,因此程序也运行不到controller中。

解决方法:在controller中添加自定义日期转换格式

	@InitBinder
	public void InitBinder(ServletRequestDataBinder binder){
		binder.registerCustomEditor(java.util.Date.class,
				new CustomDateEditor(
						new SimpleDateFormat("yyyy-MM-dd"),true));
	}

运行测试,断点正常进入,controller层方法正常调用,问题解决~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值