首先,看一段异常:

org.springframework.http.converter.HttpMessageNotReadableException: Could not read document: Unrecognized token 'entityList': was expecting ('true', 'false' or 'null')

标记的是实体中定义的属性值,实体如下:

@Data
public class ColumnsVO { List<GridColumnInfoEntity> entityList = new ArrayList<>(); }

前端js代码:

$.ajax({
url: 'grid/add.columns',
type: "POST",
data: {
entityList: rows
},
success: function (data) {
layer.msg(data.message);
},
dataType: "json",
contentType: "application/json"
});

controller处理代码:

@RequestMapping(value = "/add", consumes = "application/json; charset=utf-8")
public EasyuiResponse addColumns(@RequestBody ColumnsVO columnsVO) {
System.out.println(JSON.toJSONString(columnsVO));
return new EasyuiResponse(EasyuiResponse.SUCCESS, "配置成功!");
}

之前$.ajax中data一直是使用{key:value}方式,这次也不例外,结果就报错了。。。

搜索、查找后解决方案:

$.ajax({
url: 'grid/add.columns',
type: "POST",
data: JSON.stringify({
entityList: rows
}),
success: function (data) {
layer.msg(data.message);
},
dataType: "json",
contentType: "application/json"
});

和上面比,只有一点区别,将{key:value}使用JSON.stringify({key:value})转化为String后,一切正常!

一个比较奇怪的问题,记之。。。

另:spring mvc中传入集合需要注意的点:

1、看代码:

@RequestMapping(value = "/add", consumes = "application/json; charset=utf-8")
public EasyuiResponse addColumns(@RequestBody ColumnsVO columnsVO) {
System.out.println(JSON.toJSONString(columnsVO));
return new EasyuiResponse(EasyuiResponse.SUCCESS, "配置成功!");
} 标记部分需要注意!

2、则是上文讨论部分,注意之!

												

记spring mvc传入List<Object>的一次尝试的更多相关文章

  1. spring mvc 传入中文参数乱码问题解决

    一个简单的学习springmvc的demo中,当http请求传入中文参数时,在controller中接受到的参数就已经是乱码了,经百度一番解决方案如下: 1. get请求方式乱码解决 对于get方式, ...

  2. spring mvc传入参数不仅仅转换为json,还可以直接将json字符串转换为具体的java对象

    1.controller层 /** * 查看主播资料 * * @return */ @RequestMapping(value = { "/actor_details" }, me ...

  3. Spring MVC和Struts2的比较(二)

    1.Spring MVC的controller+command object模式比Struts2的Action模式更安全一些.而在Struts2中,自动数据绑定发生在Action对象上.这样,在Act ...

  4. Injecting and Binding Objects to Spring MVC Controllers--转

    I have written two previous posts on how to inject custom, non Spring specific objects into the requ ...

  5. spring MVC 如何接收前台传入的JSON对象数组并处理

    spring MVC 如何接收前台传入的JSON对象数组 主要方法: (主要用到的包是 net.sf.json  即:json-lib-2.3-jdk15.jar 完整相关jar包: commons- ...

  6. spring MVC 如何接收前台传入的JSON对象数组

    spring MVC 如何接收前台传入的JSON对象数组 主要方法: (主要用到的包是 net.sf.json  即:json-lib-2.3-jdk15.jar 完整相关jar包: commons- ...

  7. 当使用Spring MVC @Valid对输入框进行验证的时候,可能会遇到以下的异常:Neither BindingResult nor plain target object for bean name ‘mybean’ available as request attribute

    转自:https://www.cnblogs.com/wenhulu/p/5555457.html 当使用Spring MVC @Valid对输入框进行验证的时候,可能会遇到以下的异常: Neithe ...

  8. Spring MVC 解决 Could not write JSON: No serializer found for class java.lang.Object

    Spring MVC 解决 Could not write JSON: No serializer found for class java.lang.Object 资料参考:http://stack ...

  9. spring mvc踩坑记

    前言 主要介绍自己在学习spring mvc过程中踩到的一些坑,涉及到当时遇到这个错误是如何思考的,对思路进行总结,下次遇到类似的错误能够提供一些思路甚至快速解决. 环境准备 jdk8,spring4 ...

随机推荐

  1. delphi XE3解析JSON数据

    测试数据如下: Memo1.text中的数据: { "date":"周二(今天, 实时:12℃)", "dayPictureUrl":&qu ...

  2. delphi常用函数和方法

     uses ShellApi, ActiveX, ComObj, ShlObj; function HasText(Text: string; const Values: array of strin ...

  3. 吴裕雄 实战PYTHON编程(10)

    import cv2 cv2.namedWindow("frame")cap = cv2.VideoCapture(0)while(cap.isOpened()): ret, im ...

  4. idea 打包java程序

    创建maven项目 在pom.xml中添加: <build> <plugins> <plugin> <groupId>org.apache.maven. ...

  5. 《Blue Flke》第一次作业:团队亮相

    1.队名:Blue Flke 团队格言:决心是成功的力量,耐心是成功的保障. 2.团队成员组成:  201571030129/ 王胜海 (组长)  201571030126/ 妥志福 20157103 ...

  6. a标签伪类的LOVE HATE原则

    a标签伪类的LOVE HATE原则 a标签有四个伪类,分别是: a:link 未访问的链接 a:visited 已访问的链接 a:hover 鼠标移动到链接上 a:active 选定的链接 遇到的问题 ...

  7. 第六章 图(b1)邻接矩阵

  8. maven的配置及仓库的配置

    1.maven的配置 1.1.注意:电脑上需要安装jdk. 1.2.配置MAVEN_HOME,再在path中配置到bin这一层. (1)配置MAVEN_HOME:我的电脑--->右击---> ...

  9. B/S与C/S的比较

    1.C/S需要安装客户端软件,比如我们的qq就是C/S模式下的软件.如果使用这些软件我们必须先要下载客户端软件.如果软件更新了,就需要下载新的客户端进行更新. 2.B/S无需安装客户端软件,比如我们的 ...

  10. 只有自己看的懂的vue 二叉树的3级联动

    我是在vue做的数据 actions mutations state index页面获取值 传递给子页面 子页面的操作 <template> <div class='cascade_ ...