`

spring mvc 参数传递 400 415、list传参

阅读更多

 

 

1.默认的 spring mvc 不支持 参数 直接 接收 list ,需要 把list封装 在javabean中

 

2.@RequestBody注解  把json字符串 映射到 java 实体上  ,注意:ajax传 josn时 需要传 json字符串 而不是 json对象  可以用 JSON.stringify(data) 把json对象转json字符串

 

  ajax传JSON时设置的contenttype

默认值是application/x-www-form-urlencoded

当ajax传JSON时设置的contenttype 如果是application/json或者text/json时,JAVA中request.getParameter("")是接收不到数据的。

因为在java后台会认为你传递的是一个纯文本流,而非键值对,是不能存入requestMap的。

可以把流读取出来转成json转成lsit或对象等,在Spring中使用@RequestBody注解

在SpringMVC环境中,@RequestBody接收的是一个Json对象的字符串,而不是一个Json对象。然而在ajax请求往往传的都是Json对象,用 JSON.stringify(data)的方式就能将对象变成字符串。同时ajax请求的时候也要指定dataType: "json",contentType:"application/json" 这样就可以轻易的将一个对象或者List传到Java端

/*服务器为什么会对表单提交和文件上传做特殊处理,因为表单提交数据是名值对的方式,且Content-Type为application/x-www-form-urlencoded,而文件上传服务器需要特殊处理,普通的post请求(Content-Type不是application/x-www-form-urlencoded)数据格式不固定,不一定是名值对的方式,所以服务器无法知道具体的处理方式,所以只能通过获取原始数据流的方式来进行解析。

jquery在执行post请求时,会设置Content-Type为application/x-www-form-urlencoded,所以服务器能够正确解析,而使用原生ajax请求时,如果不显示的设置Content-Type,那么默认是text/plain,这时服务器就不知道怎么解析数据了,所以才只能通过获取原始数据流的方式来进行解析请求数据。*/

 

 

原文出处:

http://www.cnblogs.com/fenglie/articles/5127969.html

 

分享到:
评论

相关推荐

    spring mvc controller间跳转 重定向 传参

    Spring MVC controller 间跳转重定向传参 在 Spring MVC 框架中,controller 间跳转重定向传参是一个非常常见的需求。这里,我们将讨论三种常见的情况:不带参数跳转、带参数拼接 URL 形式跳转、带参数不拼接参数...

    spring,cxf,restful发布webservice传递List,Map,List<Map>

    首先,Spring框架是一个Java企业级应用开发的强大工具,它提供了众多模块,包括Spring MVC用于Web开发。在Spring框架中,我们可以利用Spring Boot简化配置,快速搭建Web服务项目。 其次,CXF是一个开源的服务框架,...

    Spring Mvc中传递参数方法之url/requestMapping详解

    在Spring MVC框架中,参数传递是控制器处理前端请求的关键步骤。本文主要讲解了四种通过URL和`@RequestMapping`注解传递参数的方法。让我们逐一深入理解这些方法。 首先,`@RequestMapping`注解是核心,它定义了...

    springmvc3+json参数传递后台接收json参数

    "springmvc3+json参数传递后台接收json参数"这个主题涉及到的是如何使用Spring MVC 3版本接收前端通过JSON格式发送的数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易于人阅读和编写,...

    jquery ajax 向后台传递数组参数示例

    在JavaScript中,jQuery的AJAX功能常常用于与服务器进行异步数据交互。...同时,不同的后端框架可能有内置的JSON处理机制,例如Spring MVC中的`@RequestBody`注解,可以简化JSON字符串到Java对象的转换。

    后台与页面之间的传值以及页面与页面之间的传值

    在Spring MVC中,控制器方法可以直接通过方法参数接收这些参数,例如: ```java @RequestMapping(value = "/save", method = RequestMethod.POST) public String save(@RequestParam("name") String userName, @...

    Spring MVC前端与后端5种ajax交互方法【总结】

    在本文中,我们将探讨Spring MVC框架中前端与后端进行Ajax交互的五种方法。Ajax技术允许我们在不刷新整个页面的情况下与服务器进行异步通信,极大地提高了用户体验。下面,让我们逐一了解这五种交互方式。 **方式一...

    spring根据controller中接收请求参数不同走不同service的实现方法

    在Spring MVC中,通常使用`@RequestMapping`、`@GetMapping`、`@PostMapping`等注解来定义Controller的方法,这些方法接收请求参数,然后传递给对应的Service进行处理。 2. **Service层的设计**: Service层是业务...

    Java中前台往后台传递多个id参数的实例

    在这个实例中,我们使用了 Spring MVC 框架来处理请求。在 Controller 中,我们可以使用 @RequestParam 注解来获取多个 id 参数,然后将其处理并返回结果。 在这个实例中,我们使用了 Ajax 技术来异步传递多个 id ...

Global site tag (gtag.js) - Google Analytics