Java 如何在Spring MVC控制器中接受2D阵列?
我正在通过jQuery Ajax发出POST请求:Java 如何在Spring MVC控制器中接受2D阵列?,java,javascript,jquery,spring,spring-mvc,Java,Javascript,Jquery,Spring,Spring Mvc,我正在通过jQuery Ajax发出POST请求: $.ajax({ type: "POST", url: opts.save_url, data: $(ul_obj).serializeFormList() + "&form_id=" + form_db_id, }); $(ul_obj).serializeFormList()创建请求参数的2D数组。 下面是传递给Spring MVC控制器的参数的屏幕抓图: 现在,当我在控制器中处理这个问题时,我收到404
$.ajax({
type: "POST",
url: opts.save_url,
data: $(ul_obj).serializeFormList() + "&form_id=" + form_db_id,
});
$(ul_obj).serializeFormList()
创建请求参数的2D数组。
下面是传递给Spring MVC控制器的参数的屏幕抓图:
现在,当我在控制器中处理这个问题时,我收到404个错误的请求,请求frmb[][]
代码如下:
public @ResponseBody String saveData(@RequestParam(value= "form_id", required = true) String formId,
@RequestParam(value= "frmb", required = true) String[][] formArray) {
//Content removed for brevity
}
处理此请求数据的确切方式是什么?请引导我。我被困在非常糟糕的境地。Java只有基于索引(整数)的数组:
因此,要么仅使用基于整数的数组发出请求:
form_Id
frmb[0][0] input_text
frmb[0][1] required
frmb[0][values] sdfsfds
或者使用其他结构来获取数据:例如,包含映射的数组
@RequestParam(value= "frmb", required = true) Map<String,String>[] formArray
@RequestParam(value=“frmb”,required=true)映射[]格式数组
如果您能够修改发送的json,那么我建议使用JavaBean而不是Map,因为我看到您正在连接参数
"&form_id=" + form_db_id
您可以对“frmb”执行相同的操作
因此,当您尝试使用
@RequestParam(value= "frmb", required = true) String[][] formArray)
你会得到
formArray = [[1,2],[2,3]]
Java只有整数索引,您正在发送整数和字符串。试着把它们都变成整数。
formArray = [[1,2],[2,3]]