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

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

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

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;
}

    用这种方式可以接收到
/**
 * 从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中的正文里,这样后端比较容易解析。

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

图片说明

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