博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring mvc提交日期类型参数
阅读量:5079 次
发布时间:2019-06-12

本文共 1058 字,大约阅读时间需要 3 分钟。

如题,spring mvc直接提交Date类型参数会报错,400 bad request的错误。在controller里加上

@InitBinderprotected void initBinder(HttpServletRequest request,ServletRequestDataBinder binder) throws Exception {  DateFormat format = new SimpleDateFormat("yyyy-MM-dd");  CustomDateEditor dateEditor = new CustomDateEditor(format, true);  binder.registerCustomEditor(Date.class, dateEditor);  super.initBinder(request, binder);}

@InitBinderpublic void initBinder(WebDataBinder binder) {  SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");  dateFormat.setLenient(false);  binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));//true:允许输入空值,false:不能为空值}

可以解决这个问题。但是这个时候Date类型的参数是null的话,还是会报错。

采用另外一种方式则更好,为null也不会报错,就是把请求参数封装为一个vo类,在对应的类属性上加上注解,这样

@DateTimeFormat(iso = ISO.DATE_TIME, pattern = "w:yyyy")private Date startTime;

或者

@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")private Date lastLoginDate;

另外如果使用验证框架,方法参数这样写(@Valid XxxParam param, BindingResult binding) ,就能直接通过BindingResult得到验证结果了。

转载于:https://www.cnblogs.com/liaojie970/p/6270514.html

你可能感兴趣的文章
使嵌入式Qt支持中文字体变换的方法(makeqpf)
查看>>
练习命名空间
查看>>
SQL Server等待事件—RESOURCE_SEMAPHORE_QUERY_COMPILE
查看>>
Quartz2D简单绘制之官方范例
查看>>
Hibernate Validation,Spring mvc 数据验证框架注解
查看>>
BZOJ3262: 陌上花开
查看>>
第三周第三天课程
查看>>
精通Android4.0开发视频【张泽华】-完整版下载
查看>>
HackGame2 writeup
查看>>
unity3d与Object-C交互
查看>>
机器学习之正则化(Regularization)
查看>>
prolog --寻找neni (2)
查看>>
Java设置Excel单元格式
查看>>
堆排序
查看>>
数据库知识之事务
查看>>
GITLAB服务基础
查看>>
20172330 2018-2019-1 《程序设计与数据结构》第二周学习总结
查看>>
Java开发笔记(一百一十四)利用Socket传输文本消息
查看>>
Java 从服务器下载文件到本地(页面、后台、配置都有)
查看>>
Android Handler机制
查看>>