java controller 400_Spring Mvc 传递参数要controller出现了400,日期参数全局处理,格式化yyyy-MM-dd 和yyyy-MM-dd HH:mm:ss...

描述:今天做一个业务操作的时候,ajax传递参数要controller出现了400,前后台都没有报错。

问题:springmvc 在接收日期类型参数时,如不做特殊处理 会出现400语法格式错误

解决:使用SpringMvc进行全局日期处理

案例如下:

1.Controller

/**

* 接收日期类型参数

* 注意:

* springmvc 在接收日期类型参数时,如不做特殊处理 会出现400语法格式错误

* 解决办法

* 1.全局日期处理

*

*/

@RequestMapping("/test")

public String test(Date birthday){

System.out.println(birthday);

return "index";

}

2.自定义类型转换规则

SpringMvc提供了Converter接口,它支持从一个Object转换为另一个Object

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

import org.springframework.beans.propertyeditors.CustomDateEditor;

import org.springframework.core.convert.converter.Converter;

import org.springframework.web.bind.WebDataBinder;

import org.springframework.web.bind.support.WebBindingInitializer;

import org.springframework.web.context.request.WebRequest;

/**

* 全局日期处理类

* Convert

* 泛型T:代表客户端提交的参数 stringDate

* 泛型S:通过convert转换的类型

通过convert转换的类型

*/

public class DateConvert implements Converter {

@Override

public Date convert(String stringDate) {

SimpleDateFormat simpleDateFormat =null;

if(stringDate.length()==10) {

simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");

}

else if(stringDate.length()>10)

{

simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

}

try {

return simpleDateFormat.parse(stringDate);

} catch (ParseException e) {

e.printStackTrace();

}

return null;

}

}

3.注册自定义的类型转换类

class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">

text/plain;charset=UTF-8

application/json;charset=UTF-8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值