3

我正在通过 jQuery Ajax 发出 POST 请求:

$.ajax({
    type: "POST",
    url: opts.save_url,
    data: $(ul_obj).serializeFormList() + "&form_id=" + form_db_id,
});

创建请求参数的$(ul_obj).serializeFormList()二维数组。这是传递给 Spring MVC 控制器的参数的屏幕截图:

在此处输入图像描述

现在,当我在控制器中处理此问题时,我收到 404 Bad Request,frmb[][] 代码如下:

public @ResponseBody String saveData(@RequestParam(value= "form_id", required = true) String formId, 
                                    @RequestParam(value= "frmb", required = true) String[][] formArray) {

                //Content removed for brevity
                }

处理此请求数据的确切方法是什么?请指导我。我被卡住了。

4

2 回答 2

2

如我所见,您正在连接参数

"&form_id=" + form_db_id

你可以对“frmb”做同样的事情

frmb=1,2&frmb=2,3

所以当你尝试使用 String [][]

@RequestParam(value= "frmb", required = true) String[][] formArray)

你会得到

formArray = [[1,2],[2,3]]
于 2013-11-13T21:25:30.413 回答
0

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

如果您能够修改发送的 json,那么我建议使用 JavaBean 而不是 Map

于 2013-08-04T09:11:05.587 回答