当jQuery 发送ajax请求需要传递多个参数时,如果参数过多,Controller接收参数时就需要定义多个参数,这样接口方法会比较长,也不方便。Spring可以传递对象参数,将你需要的所有查询条件定义成对象的属性,前台给对象赋值,后台Controller接收时只需要接收对象参数即可,这样代码就变得非常简洁。以下是示例代码:
1、对象参数QueryBean
就是普通的java类,定义你需要的属性,生产getter、setter方法即可。例如我查询时需要传递用户名称name、用户密码password,那么我的类:Class User{private String name;private Stringpassword;getter....setter....}
2、前台页面jQuery发送请求传入各个参数。要注意data里是JSON格式字符串,属性与对象参数User里的属性名称完全一致。
$.ajax({
type : "post",
url :" ../queryUser.do",
data :{name:'这里是你需要传递的用户名称值',password:'你输入的密码’},
dataType : "json",
success :function(res) {
}
});
3、后台Spring Controller 接收参数方法。方法中定义一个对象参数User对象即可,对象名称随便写。这样前台的参数在方法里可以直接通过userEntity.get...方法来拿到。
public void queryUser(,User userEntity) throws IOException {.....}