本文属于转载,原文地址:
[SpringMVC对象绑定时自定义名称对应关系][1]
这个需求来源自一个Post的Controller的请求含有太多的参数,于是想把所有的参数封装到对象中,然后Controller的方法接收一个对象类型的参数,这样后期扩展修改都比较方便,不需要动到方法签名。
有一句俗话说得好,需求是第一生产力,上面的这个需求就催生了这篇文章的一系列调研。
首先,这个需求SpringMVC本身是支持的,你把一个对象放在Controller方法的参数里,SpringMVC本身的支持就能把request中和这个对象属性同名的参数绑定到对象属性上,比如下面这样:
@RequestMapping(value = "/test", method = RequestMethod.GET)
public void test(Test test) {
LOG.debug(test.toString());
}
Test中是这样定义的
public class Test {
private String test1;
private String test2;
private String test3;
}
这个时候我们访问/test?test1=1&test2=2&test3=3,SpringMVC会自动把同名的属性和Request中的参数绑定在一起。