使用@ResponseBody,把要返回的对象自动拼成JSON的格式返回
当然,需要加入几个jackson的包,这里加入了:
jackson-core-2.1.2.jar、jackson-annotations-2.1.2.jar、jackson-databind-2.1.2.jar
n测试使用的Controller的方法:
@RequestMapping(value = "/hello") @ResponseBody public UserModel handleRequest(@RequestBody String reqBody, UserModel um) { System.out.println("the reqBody="+reqBody); um.setName(um.getName()+",server"); return um; }
测试使用的页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <script language="javascript" src="/mvcexample/static/js/jquery-1.3.2.min.js"></script> <script language="javascript"> $().ready(function(){ $.getJSON('/mvcexample/hello',{uuid:'1',name:'test'},function(data){ alert(data.uuid+" , "+data.name); }); }); </script>
去测试看看吧,可以看到Controller的方法直接返回一个um对象,但是 @ResponseBody会把这个对象自动变成json格式的,再传回客户端,非常方便。
当然, @ResponseBody也支持集合对象自动变成json格式,比如:
测试使用的Controller方法
@RequestMapping(value = "/hello") @ResponseBody public List<UserModel> handleRequest(@RequestBody String reqBody, UserModel um) { System.out.println("the reqBody="+reqBody); um.setName(um.getName()+",server"); List<UserModel> list = new ArrayList<UserModel>(); list.add(um); UserModel um2 = new UserModel(); um2.setUuid("22"); um2.setName("222"); list.add(um2); return list; }
n测试使用的页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head> <script language="javascript" src="/mvcexample/static/js/jquery-1.3.2.min.js"></script> <script language="javascript"> $().ready(function(){ $.getJSON('/mvcexample/hello',{uuid:'1',name:'test'},function(data){ $.each(data,function(index,v){ alert("tr="+v.uuid+",v="+v.name); }); }); }); </script>
相关推荐
首先,理解`@ResponseBody`的作用至关重要。它是Spring MVC中的一个注解,用于指示控制器方法的返回值应直接写入HTTP响应体,而不是经过视图解析器进行渲染。这在处理JSON、XML等非HTML数据时非常有用。然而,正是...
@RequestMapping(value="/timeObject",produces = "application/json;charset=UTF-8" ) @ResponseBody ----------------------------------------------------------------------------- <!-- @ResponseBody() ...
而 `getUser` 方法返回一个 `User` 对象,通过 `@ResponseBody` 将其转换为JSON并返回给客户端。 ### 4. 总结 `@RequestBody` 和 `@ResponseBody` 提供了强大的功能,使得Spring MVC能够轻松处理复杂的数据交换。...
这里,`@ResponseBody`使得`User`对象被转换成JSON格式,直接返回给客户端,而不是通过视图解析器查找对应的视图模板。 Spring MVC提供了多种`HttpMessageConverter`,包括处理XML的`Jaxb2...
`@ResponseBody`是Spring MVC提供的一种注解,用于将方法返回的对象直接转换为HTTP响应体的内容,通常用于返回JSON格式的数据。 在标题中提到的"对json格式的数据进行封装和转化",这是一个关键的Web开发技能,涉及...
实际开发中,常常需要返回一个对象,这时Spring MVC会自动使用配置好的消息转换器来将Java对象序列化为JSON字符串,然后返回给客户端。 ### 控制器层与前端交互示例 ```java @RequestMapping("House/ClassManager/...
在这个例子中,`getUser()`方法返回的`User`对象会被自动转换为JSON并发送到客户端。 2. **数据转换** Spring MVC使用`MessageConverter`来将对象转换为HTTP响应体。默认情况下,它包含多个内置的转换器,如`...
在这个例子中,`/users`路径的GET请求会调用`getUsers`方法,该方法返回一个User对象列表,Spring MVC会自动将这个列表转换成JSON格式,并发送给客户端。 在实际项目中,我们还需要配置数据访问层(如JPA、...
例如,如果你的控制器方法返回一个Java对象,添加`@ResponseBody`后,Spring会使用内置的HttpMessageConverter将对象转换为JSON字符串,使得前端可以解析。这对于RESTful API的开发尤其重要,因为它允许我们以数据...
例如,异步获取 JSON 数据,加上 @Responsebody 注解后,就会直接返回 JSON 数据。这种情况下,浏览器并不会跳转到新的页面,而是将响应结果直接返回给浏览器,而浏览器可以根据需要对响应结果进行处理。 以下是一...
- 使用`@JsonAutoDetect`、`@JsonInclude`和`@JsonFormat`等注解来优化序列化过程,提高代码可读性和维护性。 - 对于敏感字段,使用`@JsonIgnore`防止暴露。 了解这些知识点后,你可以更好地在Spring项目中使用...
@ResponseBody 的作用其实是将 Java 对象转换为 JSON 格式的数据。这是一个通用的解释,但是这句话并没有完全地揭示 @ResponseBody 的真实作用。 那么,@ResponseBody 的默认输出格式是什么呢?答案是,@...
本文将详细介绍如何解决SpringMVC中`@ResponseBody`注解返回中文乱码的问题。 首先,我们可以尝试使用`@RequestMapping`注解的`produces`属性来指定响应内容的MIME类型和字符集。例如: ```java @RequestMapping...
// @ResponseBody 将返回的对象自动转为json格式的数据 public @ResponseBody JsonBean list(){ JsonBean bean = new JsonBean(); try { List<Employee> emps = empService.findAllEmps(); bean.setCode(1);...
在Spring MVC中,当控制器方法的返回值前加上`@ResponseBody`时,Spring会将返回的对象直接转换成HTTP响应体的Content,通常用于返回JSON或XML格式的数据。默认情况下,Spring MVC使用`HttpMessageConverter`来完成...
在Spring Boot应用中,当你使用`@ResponseBody`注解将对象转换为JSON并发送到客户端时,日期(Date)类型的字段通常需要特殊处理,因为它们默认可能会被转换为Unix时间戳或者不友好的格式。本篇文章主要介绍了两种...
这在返回JSON数据时非常有用,因为我们可以直接返回一个对象,Spring MVC会自动将其转换为JSON格式。在示例中,如果没有`@ResponseBody`,我们需要手动处理JSON序列化,就像`writeJson`方法那样。但是有了`@...
本篇文章将详细介绍如何在Spring MVC的XML配置中设置,以便让`@ResponseBody`自动将Java对象转换为JSON。 首先,`@ResponseBody`的作用是在方法返回的对象不是HTML片段而是其他格式数据(例如JSON或XML)时使用的。...
例如,在控制器中,我们可以使用ObjectMapper对象来将Java对象序列化为JSON字符串。 ```java ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(object); ``` 同样,我们也可以...