首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Spring MVC控制器中接受2D数组?

如何在Spring MVC控制器中接受2D数组?
EN

Stack Overflow用户
提问于 2013-08-04 15:53:58
回答 2查看 3.5K关注 0票数 3

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

代码语言:javascript
运行
复制
$.ajax({
    type: "POST",
    url: opts.save_url,
    data: $(ul_obj).serializeFormList() + "&form_id=" + form_db_id,
});

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

现在,当我在控制器中处理这个问题时,我收到了404对frmb[][]的错误请求,下面是代码:

代码语言:javascript
运行
复制
public @ResponseBody String saveData(@RequestParam(value= "form_id", required = true) String formId, 
                                    @RequestParam(value= "frmb", required = true) String[][] formArray) {

                //Content removed for brevity
                }

处理此请求数据的确切方式是什么?请给我引路。我真的被卡住了。

EN

回答 2

Stack Overflow用户

发布于 2013-11-14 05:25:30

正如我所看到的,您正在连接参数

代码语言:javascript
运行
复制
"&form_id=" + form_db_id

您可以对"frmb“执行相同的操作。

代码语言:javascript
运行
复制
frmb=1,2&frmb=2,3

因此,当您尝试使用以下命令获取字符串时

代码语言:javascript
运行
复制
@RequestParam(value= "frmb", required = true) String[][] formArray)

你会得到

代码语言:javascript
运行
复制
formArray = [[1,2],[2,3]]
票数 2
EN

Stack Overflow用户

发布于 2013-08-04 17:11:06

Java只有基于索引(整数)的数组:

因此,您可以只使用基于整数的数组来发出请求:

代码语言:javascript
运行
复制
 form_Id
 frmb[0][0] input_text
 frmb[0][1] required
 frmb[0][values] sdfsfds

或者使用其他结构来获取数据:例如,包含Map的数组

代码语言:javascript
运行
复制
@RequestParam(value= "frmb", required = true) Map<String,String>[] formArray

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18040926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档