SrpingMVC如何接收JS二维数组参数 5C

比如我要接收图片中的二维数组,是个复杂对象。
JS二维数组

1. 如果不适用前端Json序列化,后端接收反序列化这种方案的话。应该如何接收

4个回答

/**
 * 从request中把数据拿出来
 * @param request
 * @return
 */
public List<List<String>> getDataFromRequest(HttpServletRequest request) {
    List<List<String>> data = new LinkedList<>();
    Map<String, String[]> map = request.getParameterMap();
    for(String k : map.keySet()) {
        if(k.startsWith("data")) {
            String[] ss = map.get(k);
            List<String> list = Lists.newArrayList(ss);
            data.add(list);
        }
    }
    return data;
}

很久之前做过一次,数据是放在parameter中,序列化会按照上述格式进行序列化,可以从request中直接获取。
这种方式不够优雅,建议将数据序列化成json,然后放在http中的正文里,这样后端比较容易解析。

图片说明

我当时的数据格式,如上图

public class UserModel {
private List users;

public List<User> getUsers() {
    return users;
}

public void setUsers(List<User> users) {
    this.users = users;
}

public UserModel(List<User> users) {
    super();
    this.users = users;
}

public UserModel() {
    super();
}

}

@RequestMapping(value = "/submitUserList", method ={RequestMethod.POST})
@ResponseBody
public String submitUserList(UserModel users)
throws Exception{
String result = "";
List userList = users.getUsers();
return null;
}

    用这种方式可以接收到
shuai_wy
超帅的菜鸟博主 您可能没有仔细看问题, 前端传递过来的是 column[0]["value"], springMVC是处理不了的,list只能处理 search[0].value这种形式。
一年多之前 回复

在controller 中直接用List来进行接收。可以参考https://blog.csdn.net/u011781521/article/details/77586688/

shuai_wy
超帅的菜鸟博主 自定义实体集,并在模型中加List字段,只能处理 search[0].value,处理不了 search[0]["value"],springMVC处理不了,会报错的
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐