controller要接收List<myObject>之类的泛型数据,需要在springmvc中添加json相关的解析配置。

主要是添加:<bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView" />

具体示例如下:

Bean - CustomInfo:

public class CustomInfo {/* 包含一个List<CustomRule> */private List<CustomRule> ruleList;private List<String> objList;private String objType;/* getters and setters */@Overridepublic String toString() {String rule = "";for(CustomRule cRule: ruleList) {rule += cRule.toString() + "\n";}return "customRules\n" +"ruleList=" + rule + "\n" +"objList=" + objList.toString() +  "\n" +"objType: " + objType + "\n\n";}}

Bean - CustomRule

public class CustomRule {private String metricType;private String startDate;private String endDate;private String startHour;private String endHour;/* getters and setters */@Overridepublic String toString() {return "metricType: " + metricType + "  startHour: " + startHour + "  endHour: " + endHour + "  startDate: " + startDate + "  endDate: " + endDate; }
}

js:

data = [{"objType": "testType1", "objList": ["obj1", "obj2", "obj3"], "ruleList": [{"metricType": "test1", "startHour": "1"}]}, {"objType": "testType2", "objList": ["obj1", "obj2", "obj3"], "ruleList": [{"metricType": "test2", "startHour": "2"}]}]$.ajax({url : "xxx/test",data: JSON.stringify(data),type : "post", dataType : "json",contentType: "application/json; charset=utf-8",success: function(data) {  if (data.success == true) {console.log(data.msg);/* TO-DO: 跳转到定制页面 */} else {alert("添加失败, 失败原因: " + data.msg);}},error: function (e) {console.log(e);}});

controller:

@RequestMapping(value="/test", method=RequestMethod.POST)@ResponseBodypublic Json test(@RequestBody List<CustomInfo> data) {DataSourceContextHolder.setDataSource(DataSource.dbprod_dataSource); Json j = new Json();try {for (CustomInfo c: data) {System.out.print(c.toString());}j.setSuccess(true);j.setMsg("insert sucess!");} catch (Exception e) {System.out.println(e.toString());j.setSuccess(false);j.setMsg(e.getMessage());}return j;
}

springmvc.xml中添加以下配置:

<beanclass="org.springframework.web.servlet.view.ContentNegotiatingViewResolver"><property name="order" value="1" /><property name="contentNegotiationManager"><bean class="org.springframework.web.accept.ContentNegotiationManager"><constructor-arg><beanclass="org.springframework.web.accept.PathExtensionContentNegotiationStrategy"><constructor-arg><map><entry key="json" value="application/json" /><entry key="xml" value="application/xml" /></map></constructor-arg></bean></constructor-arg></bean></property><property name="defaultViews"><list><beanclass="org.springframework.web.servlet.view.json.MappingJackson2JsonView" /><bean class="org.springframework.web.servlet.view.xml.MarshallingView"><constructor-arg><bean class="org.springframework.oxm.xstream.XStreamMarshaller"><property name="autodetectAnnotations" value="true" /></bean></constructor-arg></bean></list></property></bean>

我使用的是maven,需要添加以下的jar包:

<!-- JACKSON -->
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.2.1</version>
</dependency>
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.2.1</version>
</dependency>
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.2.1</version>
</dependency>
<dependency><groupId>org.springframework</groupId><artifactId>spring-oxm</artifactId><version>4.0.6.RELEASE</version>
</dependency>
<dependency><groupId>com.thoughtworks.xstream</groupId><artifactId>xstream</artifactId><version>1.4.7</version>
</dependency>

转载于:https://my.oschina.net/holton/blog/882678

SpringMVC Controller接收ListmyObject相关推荐

  1. springmvcget中文乱码_解决SpringMVC Controller 接收页面传递的中文参数出现乱码的问题...

    新配置一个spring的MVC项目,发现对Get请求的中文参数出现了乱码: 查看了SpingMVC中关于编码的配置(在web.xml中),如下: encodingFilter org.springfr ...

  2. mvc html传参数乱码,SpringMVC Controller 接收页面传递的中文参数出现乱码

    在Controller中接收到的POST参数如果是中文的话,显示为乱码.已知客户端传过来时编码为UTF-8. 问题产生分析: spring MVC中默认的编码格式为"ISO-8859-1&q ...

  3. springmvc controller接收前端发送数组

    撸了今年阿里.头条和美团的面试,我有一个重要发现.......>>> 前端页面发送ajax var arr = [] arr.push["a"]; arr.pus ...

  4. 解决SpringMvc后台接收json数据中文乱码问题

    2019独角兽企业重金招聘Python工程师标准>>> 1.使用ajax从前台页面传输数据到后台controller控制器的时候,出现中文乱码(问号???). 之前在网上找了各种解决 ...

  5. SpringMVC Controller介绍(转)

    SpringMVC Controller 介绍 一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理 ...

  6. SpringMVC Controller单例和多例

    对于SpringMVC Controller单例和多例,下面举了个例子说明下. 第一次:类是多例,一个普通属性和一个静态属性. 结果:普通属性:0.............静态属性:0 普通属性:0. ...

  7. java处理表单变量_Java自学之SpringMVC:接收表单数据

    学习目的:使用SpringMVC接收表单数据. Part 1 新建一个pojo. package pojo; public class Product { private int id; privat ...

  8. 【转】SpringMVC Controller 介绍

    转自:原文url 一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ...

  9. 通过Ajax进行POST提交JSON类型的数据到SpringMVC Controller的方法

    现在在做的项目用到了SpringMVC框架,需要从前端angular接收请求的JSON数据,为了测试方便,所以直接先用AJAX进行测试,不过刚开始用平时用的ajax方法,提交请求会出现415或者400 ...

最新文章

  1. curses颜色操作
  2. jquery ajax异步调用
  3. 2012_Houdini_ShowReel.
  4. MySQL substring()函数
  5. 素数c分解语言程序,PTA|《C语言程序设计实验与习题指导(第3版)》实验4-2-3 验证“哥德巴赫猜想” (20分)...
  6. 仿QQ聊天室【方案】
  7. 关于 IOS5 使用 position:fixed 与 scrollTo 共存的 bug
  8. tensorflow contrib模块_OpenCV DNN 模块-风格迁移
  9. 【SQL】update中使用case when
  10. MessasgePack:一个小巧高效的序列化方式
  11. 媒体查询@media scree
  12. Linux内核入门(五)——必要的硬件知识
  13. 微信html代码怎么换行,微信公众号代码区域换行问题(解决)
  14. 201908 小技巧---设备管理器-其他设备-通用串行总线(USB)控制器 驱动安装
  15. EAN-13 条形码编程示例
  16. KiBiEx互联网交易互动平台数字货币
  17. 大学计算机实验六实验报告,大学计算机实验6 实验报告.pdf
  18. 老国企如何焕发新势能?致远互联“协同五环”锻造老而弥坚
  19. 婚礼请帖_第一次在线婚礼发生在1876年
  20. 学编程c语言高考能加分吗,学好编程,中高考都能加分,还能保送清华北大!...

热门文章

  1. 银发〔2016〕302号文件,划重点
  2. 常见文件对应的MIMEType类型
  3. 七成姓氏源自河南?看看当地的四大姓氏,你就知道为什么了
  4. h264 error while decoding MB/concealing 215 DC... 错误解决方案
  5. 硬件第1城:光猫GE和FE的区别
  6. oracle修改filesystem,Oracledatabasefilesystem(DBFS)简单配置文档
  7. ××教育Excel数据分析面试题
  8. 最小硬币问题(多重背包and完全背包)
  9. 安卓期末复习——题库(一)
  10. cisco思科交换机端口限速配置