springmvc拦截器原理表单提交日期格式,怎么搞

请教Spring MVC 的表单提交日期问题_百度知道
请教Spring MVC 的表单提交日期问题
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
这个问题比较常见。form表单提交给后台的数据类型是string,如果实体类属性上不加数据格式转换的话会报400的错(数据类型不匹配)。解决方法:在实体类属性上添加:@DateTimeFormat(pattern&=&&yyyy-MM-dd&HH:mm:ss&)&&@JsonFormat(pattern&=&&yyyy-MM-dd&HH:mm:ss&,&timezone&=&&GMT+08:00&)&&private&Date&produceT&//&生产时间@JsonFormat是为了展示时添加的。form提交采用的是My97DatePicker时间控件
采纳率:87%
来自团队:
为您推荐:
其他类似问题
mvc的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。博客分类:
在mvc中如果表单属性的类型是日期型时,从页面绑定字符串数据会出错
Failed to convert property value of type [java.lang.String] to
required type [java.util.Date] for property 'expert.birthdate'; nested
exception is java.lang.IllegalArgumentException: Cannot convert value of
type [java.lang.String] to required type [java.util.Date] for property
'birthdate': no matching editors or conversion strategy found
1.控制器继承 extends SimpleFormController
2.重写initBinder方法
@InitBinder
protected void initBinder(HttpServletRequest request,
ServletRequestDataBinder binder) throws Exception {
DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
CustomDateEditor dateEditor = new CustomDateEditor(fmt, true);
binder.registerCustomEditor(Date.class, dateEditor);
super.initBinder(request, binder);
浏览: 3428 次
来自: 北京
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'springMVC form表单提交---包含时间类型的数据
当form表单中的数据是基本类型的时,直接请求action中的url,一点问题都没有。
但是当form表单总有时间类型的数据时,且对应的controller是用一个java对象来绑定对应form提交的数据时,就会出现问题。无法提交成功。
解决办法:
在对应的controller中新增下面的方法:
* form表单提交 Date类型数据绑定
* &功能详细描述&
* @param binder
* @see [类、类#方法、类#成员]
@InitBinder
public void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
解决表单提交到后台,日期类型转换问题
springMVC form表单提交---包含时间类型的数据报错400
没有更多推荐了,SpringMvc接收日期表单提交,自动转换成Date类型方法
原创
 11:21:15
757
User中有birthday(Date)属性,用户注册的时候,选择日期即可,然后提交表单,可spring mvc 报错,400 Bad Request意思是不能把字符串转为Date类型的。实体类中加日期格式化注解
@DateTimeFormat(pattern = &yyyy-MM-dd&)
private D控制器Controller中加入一段数据绑定代码
//将字符串转换为Date类
@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));
} 方法三:实现一个全局日期类型转换器并进行配置package nuc.ss.wlb.core.
import java.text.DateF
import java.text.SimpleDateF
import java.util.D
import org.springframework.beans.propertyeditors.CustomDateE
import org.springframework.web.bind.WebDataB
import org.springframework.web.bind.support.WebBindingI
import org.springframework.web.context.request.WebR
public class CustomDateEdtor implements WebBindingInitializer {
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));
//并在spingMVC配置文件进行配置
&!-- 配置全局日期转换器 --&
&bean class=&org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter&&
&property name=&webBindingInitializer&&
&bean class=&nuc.ss.wlb.core.web.CustomDateEdtor&/&
&/property&
&/bean&方法四:jsp页面配置或Freemark中配置&%@ taglib uri=&http://java.sun.com/jsp/jstl/fmt& prefix=&fmt&%&
&fmt:formatDate value=&${job.jobtime }& pattern=&yyyy-MM-dd HH:mm:ss&/&以上就是SpringMvc接收日期表单提交,自动转换成Date类型方法的详细内容,更多请关注php中文网其它相关文章!
江湖传言:PHP是世界上最好的编程语言。真的是这样吗?这个梗究竟是从哪来的?学会本课程,你就会明白了。
PHP中文网出品的PHP入门系统教学视频,完全从初学者的角度出发,绝不玩虚的,一切以实用、有用...
ThinkPHP是国内最流行的中文PHP开发框架,也是您Web项目的最佳选择。《php.cn独孤九贱(5)-ThinkPHP5视频教程》课程以ThinkPHP5最新版本为例,从最基本的框架常识开始,将...
本套教程,以一个真实的学校教学管理系统为案例,手把手教会您如何在一张白纸上,从零开始,一步一步的用ThinkPHP5框架快速开发出一个商业项目。
《php.cn原创html5视频教程》课程特色:php中文网原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了HTML知识。
所有计算机语言的学习都要从基础开始,《PHP入门视频教程之一周学会PHP》不仅是PHP的基础部分更主要的是PHP语言的核心技术,是学习PHP必须掌握的内容,任何PHP项目的实现都离不开这部分的内容,通...
本课以最新版ThinkPHP5.0.10为基础进行开发,全程实录一个完整企业点,从后台到前台,从控制器到路由的全套完整教程,不论是你是新人,还是有一定开发经验的程序员,都可以从中学到实用的知识~~
ThinkPHP是一个快速、开源的轻量级国产PHP开发框架,是业内最流行的PHP框架之一。本课程以博客系统为例,讲述如何使用TP实战开发,从中学习Thinkphp的实践应用。模版下载地址:http:/...
本课程是php实战开发课程,以爱奇艺电影网站为蓝本从零开发一个自己的网站。目的是让大家了解真实项目的架构及开发过程
本课以一个极简的PHP开发框架为案例,向您展示了一个PHP框架应该具有的基本功能,以及具体的实现方法,让您快速对PHP开发框架的底层实现有一个清楚的认识,为以后学习其实的开发框架打下坚实的基础。
javascript是运行在浏览器上的脚本语言,连续多年,被评为全球最受欢迎的编程语言。是前端开发必备三大法器中,最具杀伤力。如果前端开发是降龙十八掌,好么javascript就是第18掌:亢龙有悔。...
本站9月直播课已经结束,本套教程是直播实录,没有报上名或者漏听学员福利来了,赶紧看看吧,说不定这里就有你的菜
轻松明快,简洁生动,让你快速走入HTML5的世界,体会语义化开发的魅力
JavaScript能够称得上是史上使用最广泛的编程语言,也是前端开发必须掌握的三技能之一:描述网页内容的HTML、描述网页样式的CSS以及描述网页行为的JavaScript。本章节将帮助大家迅速掌握...
Bootstrap 是最受欢迎的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的 WEB 项目。为所有开发者、所有应用场景而设计,它让前端开发更快速、简单,所有开发者都能快速上手...
《php用户注册登录系统》主要介绍网站的登录注册功能,我们会从最简单的实现登录注册功能开始,增加验证码,cookie验证等,丰富网站的登录注册功能
《php.cn独孤九贱(2)-css视频教程》课程特色:php中文网原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了CSS知识...
《PHP学生管理系统视频教程》主要给大家讲解了HTML,PHP,MySQL之间的相互协作,实现动态的网页显示和获取数据.
jQuery是一个快速、简洁的JavaScript框架。设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的...
《弹指间学会HTML视频教程》从最基本的概念开始讲起,步步深入,带领大家学习HTML,了解各种常用标签的意义以及基本用法,学习HTML知识为以后的学习打下基础
《最新微信小程序开发视频教程》本节课程是由微趋道录制,讲述了如何申请一个微信小程序,以及开发中需要使用哪些工具,和需要注意哪些等。
PHP开发工程师
文章总浏览数Spring mvc jsp form表单映射java 对像担交表单时日期类型不统一导致的问题!_百度知道
Spring mvc jsp form表单映射java 对像担交表单时日期类型不统一导致的问题!
也就是后台的Model对象中有一个 Date类型的变量,但是JSP提交过来的是String字符串,导致必须要转换类型后再new 一个对象,再把这个对象插入数据库!这样就不能在后台控制器里面直接接收 某一个对象直接插入数据库,很麻烦,因为要一个一个变量的接收,再创建对象再插...
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
@InitBinder public&void&initBinder(HttpServletRequest&request,&ServletRequestDataBinder&binder)&throws&Exception&{
binder.registerCustomEditor(Date.class,&new&CustomDateEditor(new&SimpleDateFormat(&yyyy-MM-dd&),&true)); }在你的ACTION加这一段
采纳率:43%
为您推荐:
其他类似问题
mvc的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 简述springmvc工作原理 的文章

 

随机推荐