[英]how to pass multiple request parameters in Spring?
在我的Spring应用程序中,我将两个请求参数传递给我的业务逻辑。
$.ajax({
url : "classes/addResult",
type:'POST',
data : {"names":names,"globalClassId":globalClassId}
});
和我的业务逻辑
@RequestMapping(value = "addResult", method = RequestMethod.POST)
public String addResult(ResultForm form,
BindingResult result, Model model,
@RequestParam("names") String[] names,
@RequestParam("globalClassId") String globalClassId)
throws Exception {
-------------
------------
return "";
}
但控制器没有调用这种方法..为什么他们的代码有任何错误..
<script type="text/javascript">
var names = new Array();
$.ajax({
url : "Result",
type : 'POST',
data : {
"names" : JSON.stringify(names),//or names.join()
"globalClassId" : globalClassId
}});
</script>
如果您收到错误400(错误请求)????????????
当您将数组数据(在您的情况下为{names:names})传递给$ .ajax()方法时,它会在paremeter名称之后附加squre括号[]表示名称为[] //而不是名称)
因此,您需要对代码进行一些更改
@RequestMapping(value = "addResult", method = RequestMethod.POST)
public String addResult(ResultForm form,
BindingResult result, Model model,
@RequestParam("names[]") String[] names, //replace names with names[]
@RequestParam("globalClassId") String globalClassId)
throws Exception {
-------------
------------
return "";
}
或者你可以使用
@RequestMapping(value = "addResult", method = RequestMethod.POST)
public String addResult(ResultForm form,
BindingResult result, Model model,
@RequestParam("globalClassId") String globalClassId)
throws Exception {
String[] names = request.getParameterValues("names[]");//getting names array here
-------------
------------
return "";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.