如何在Spring 3.0中绑定请求参数?
问题内容:
我正在构建一个控制器,该控制器接收来自第三方服务的请求。该服务有请求5参数,我需要将其绑定到一个Message
类。
说,我应要求而得到
?a=x&b=y&c=z&d=w&e=k&f=t
消息类是
public class Message{
String a;
String b;
String c;
String d;
String e;
String f;
public Message(String a, String b, String c, String d, String e, String f){
this.a=a;this.b=b;this.c=c;this.d=d;this.e=e;this.f=f;
}
....// along with getters and setters
}
一种选择是@RequestParam
在方法控制器中使用,但随后我必须传递所有参数,然后Message
手动实例化对象。我不想这样做,因为参数计数太大。
可以使用初始化资料夹/网络数据资料夹来完成吗?如何?
问题答案:
您无需执行任何特殊操作即可完成此工作,只需Message
在控制器方法中声明一个参数即可:
@RequestMapping
public String handleRequest(Message message) {
...
}
Spring会将每个参数绑定到上的一个属性Message
,在该属性中可以找到一个。如果Message
具有getter和setter(以及默认构造函数),它将可以正常工作。如果要使用非默认构造函数或直接字段注入,则必须做更多的配置工作。