-
@RequestBody List ajax请求json数组 后台spring mvc 无法接收5
我看网上很多人都这样写 但我反复试了几次 死活不行 麻烦大家帮忙看看
我的是spring mvc3.1.3
代码如下
java@RequestMapping(value = "testRequestBody.do", method = RequestMethod.POST) public void testRequestBody(@RequestBody List<UserVO> users) throws UnsupportedEncodingException { System.out.println("in here"); System.out.println(users.size()); System.out.println("end"); }
用户对象类public class UserVO { private String name; private String pwd; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public UserVO() { } public UserVO(String name, String pwd) { this.name = name; this.pwd = pwd; } }
javascriptvar users = JSON.stringify([ {name: "user1", pwd: "123"}, {name: "user2", pwd: "123"} ]); alert(users); $.ajax({ type: "post", // 请求方式 url: "testRequestBody.do", //url地址 data:users, //数据 contentType: "application/json", dataType: "json", success: function (response, ifo) { alert("success"); }, error: function () { alert("error"); } })
chrome 后台错误 Failed to load resource: the server responded with a status of 415 (Unsupported Media Type)
问题补充:@RequestBody List<UserVO> users 如果将这里去掉
则可以成功访问到方法 说明ajax是能访问服务器的
只是在转换对象的时候出错了 但应该怎么写呢?
2013年5月06日 10:21
5个答案 按时间排序 按投票排序
-
400错误:传的参数是否跟后台@resquestbody参数一一 对应(List前台是数组),还有是否加上了jackson的四个jar包,spring3.0和3.1.1不支持jackson 2.x 3.1.3支持
415错误:前台ajax加上dataType: "json",
contentType: "application/json; charset=gbk",2013年5月07日 16:36
-
spring mvc默认不支持这种形式,但是可以自己扩展。 已经有人做了对应实现了,地址为:http://jinnianshilongnian.iteye.com/blog/1719952
或者通过传json字符串到后台再转换成对应对象了。2013年5月07日 08:44
-
@Controller
@RequestMapping(value = "/pets/{petId}", method = RequestMethod.GET, produces="application/json")
@ResponseBody(位置1)
public @ResponseBody(位置2) Pet getPet(@PathVariable String petId, Model model) {
// implementation omitted
return pet;
}
提供对象转换为JSON的 message 转换器。
或者使用jackson 直接 转换, 返回值改为string 也行。2013年5月06日 17:21
相关推荐
这种方法适用于 JSON 格式的请求体,通过 `@RequestBody` 注解,Spring MVC 可以自动将请求体中的 JSON 数据转换为 Java 对象。 #### 总结 以上介绍了三种解决 Spring MVC 无法直接接收 List 类型参数的方法。这些...
在JavaScript中,jQuery的AJAX功能常常用于与服务器进行异步数据交互。...同时,不同的后端框架可能有内置的JSON处理机制,例如Spring MVC中的`@RequestBody`注解,可以简化JSON字符串到Java对象的转换。
综上所述,"springmvc3+json参数传递后台接收json参数"涵盖了Spring MVC 3中处理JSON数据的核心概念和实践方法,包括JSON数据格式、`@RequestBody`注解、前端JSON数据封装、批量处理、错误处理和配置支持等方面的...
在后端,你需要创建一个能够接收JSON数组的控制器方法,这里使用`@RequestBody`注解来自动将JSON数据转换为Java对象。 ```java import org.springframework.web.bind.annotation.PostMapping; import org.spring...
标题中的“Spring MVC – Easy REST-Based JSON Services with @ResponseBody”是指使用Spring MVC框架构建基于REST的JSON服务,并通过使用`@ResponseBody`注解来简化这一过程。REST(Representational State ...
使用`@RequestMapping`注解来指定URL和HTTP方法,`@RequestBody`注解告诉Spring将请求体中的JSON数据映射到方法参数上。`@ResponseBody`注解则表示返回值将被转换为JSON并写入HTTP响应。以下是对应的Java代码: ```...
这里,`YourPojo`是自定义的Java类,包含一个List字段和一个Map字段,Spring MVC会自动将接收到的JSON数据映射到这个类的实例上。 在实际应用中,你可能还需要关注跨域请求(CORS)问题,因为默认情况下,浏览器...
- **接收请求**:在后端,Spring MVC提供了`@RequestBody`注解,用于解析请求中的JSON数据。你需要创建一个对应的Java Bean来接收这些数据: ```java @RestController public class DataController { @...
在Spring MVC框架中,开发人员经常需要处理JSON数据进行前后端交互。然而,在实际操作中,我们可能会遇到一个常见的问题,即HTTP状态码406(Not Acceptable)。这个错误通常意味着服务器生成了响应,但客户端无法...
addVipFeeList方法的参数是@RequestBody注解修饰的一个List对象,这个注解告诉Spring MVC框架将请求体中的JSON数据自动转换成一个VipFee类型的List集合。如果转换成功,Spring MVC会尝试调用这个方法,并将转换得到...
2、Controller方法:Java代码@Controller @RequestMapping("/catalog.do") public class CatalogController { @RequestMapping(params = "fn=saveMaps") @ResponseBody public AjaxJson saveMaps(@RequestBody List,...
Spring MVC通过`@RequestParam`、`@ModelAttribute`和`@RequestBody`等注解提供了灵活的方式,来处理Ajax请求中传递的不同类型的数据。理解这些注解的用法,能够帮助开发者更有效地构建前后端交互的Web应用程序。在...
在现代Web开发中,Spring MVC框架与JSON的结合使用是相当常见的。Spring MVC是一个强大的MVC(模型-视图-控制器)框架,用于构建可维护、高性能的Java Web应用程序。而JSON(JavaScript Object Notation)是一种轻量...
总结一下,Spring MVC通过`@RequestMapping`、`@ResponseBody`和`@RequestBody`注解,提供了处理AJAX请求和返回JSON数据的强大功能。这使得我们可以轻松地构建前后端分离的应用,实现高效的页面异步更新。在实际开发...
- Controller方法:使用`@RequestBody`注解接收JSON字符串,Spring MVC会将其反序列化为`List<User>`。 3. **接收User数组**: - 如果想接收User数组,只需将Controller方法中的`List<User>`参数改为`@Request...
前端构建对象并发送,如`ajaxPost("/base/org/getOrgById", org)`,后端控制器使用`@RequestBody`注解接收,自动将JSON反序列化为对象。 ```java @RequestMapping("/getOrgById") public Org getOrgById(@Request...
-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 --> 14. <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> 15. 16. <!-- 对模型视图名称的解析...
在Java后端,我们通常使用Servlet或者Spring MVC来接收和解析这些请求。例如,使用`HttpServletRequest`对象,我们可以调用`getParameter()`或`getParameterMap()`方法来获取请求参数。对于多维数组,可能需要使用`...
Spring MVC通过Jackson库支持与AJAX的交互,将Java对象转换为JSON格式,供JavaScript处理。步骤如下: 1. 引入Jackson库的jar包。 2. 在Spring配置文件中配置JSON的映射,例如启用`MappingJackson2...