SpringMVC处理器类的方法可以返回ModelAndView、void、Object和String,今天我们来说一说返回String的情况。
返回值为String的第一种情况,就是返回视图的逻辑名,此时SpringMVC会通过视图解析器对视图逻辑名进行处理,拼接上前缀和后缀,从而可以返回正确的视图文件的完整逻辑名。
返回值为String的第二种情况,就是返回的是json格式的字符串,看下面的示例。
1、在项目的pom.xml文件中添加fastjson的依赖
com.alibaba fastjson1.2.75
2、创建实体类:Employee.java
@Data
public class Employee {
private Integer id;
private String name;
private Integer age;
private String email;
}
3、编写处理器的方法
@Controller
@RequestMapping("/emp")
public class EmployeeController {
//表示层依赖于业务层对象
@Autowired
private EmployeeService employeeService;
@RequestMapping(value = "/getJson",produces = "application/json; charset=utf-8")
@ResponseBody
public String getJson(){
Employee employee = new Employee();
employee.setName("test");
employee.setId(1001);
employee.setAge(20);
employee.setEmail("test@163.com");
return JSON.toJSonString(employee);
}
}
@RequestMapping(value = "/getJson",produces = "application/json; charset=utf-8")中
value = "/getJson":为该处理器方法绑定的访问路径
produces = "application/json; charset=utf-8":为指定json字符串字符集,从而解决中文乱码问题
以上是返回单个对象的json字符串,还可以返回集合对象,如下所示:
@RequestMapping(value = "/getJson",produces = "application/json; charset=utf-8")
@ResponseBody
public String getJson(){
List list = employeeService.findEmps();
return JSON.toJSonString(list);
}
4、编写前端页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
Title



