1、 在springmvc中,接收页面提交的数据是通过方法形参来接收的。从客户端请求的key/value数据,经过参数绑定,将key/value数据绑定到controller方法的形参上,然后就可以在controller中使用该参数了
2. 默认支持的类型
springmvc中,有支持的默认类型的绑定。只要是一下类型的对象SpringMVC都会自动绑定
- HttpServletRequest对象
- HttpServletResponse对象
- HttpSession对象
- Model/ModelMap对象
3.简单类型的参数绑定
如果是简单类型的参数,只需要保证前台传过来的key与参数名一样,SpringMVC就会自动绑定了
假若参数名称不一样,可以使用 @RequestParam("key") Object otherKey 这种形式来实现参数绑定
4.pojo类参数绑定
对于基本类型,要求页面中input标签的name属性值和controller的pojo形参中的属性名称一致,即可将页面中数据绑定到pojo。也就是说前台页面传进来的name要和要封装的pojo属性名一模一样,然后就可以将该pojo作为形参放到controller的方法中。
但是在日期类型的参数绑定我们会遇到问题,默认的无法从String转换到Date类型绑定,所以对于日期类型我们要自定义参数绑定实现Converter接口
/需要实现Converter接口,这里是将String类型转换成Date类型
public class CustomDateConverter implements Converter<String, Date> {
@Override
public Date convert(String source) {
//实现 将日期串转成日期类型(格式是yyyy-MM-dd HH:mm:ss)
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
//转成直接返回
return simpleDateFormat.parse(source);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//如果参数绑定失败返回null
return null;
}
}