@Controller
public class Springcontroller {
/***
* 返回类型是string需要用produces进行转码,并格式化
* json格式化 可以用Gson处理(obj <-> json)互相转换
* @return
* @date 2017年5月12日
* @author wanwenjun
*/
@RequestMapping(value="/stu",produces="application/json; charset=utf-8")
@ResponseBody
public String getStudent(){
Student s = (Student) SpringContext.getBean("student");
Gson gson = new Gson();
//obj to String
String stu = gson.toJson(s);
//String to obj
Student s2 = gson.fromJson(stu,Student.class);
System.out.println(s2.toString());
return stu;
}
/****
* 返回类型是map,中文没有乱码
* 在页面上看的返回格式效果和上述produces="application/json; charset=utf-8" 一样
* @date 2017年5月12日
* @author wanwenjun
* @return Map<String,Student>
*/
@ResponseBody
@RequestMapping(value="/stumap")
public Map<String,Student> get(){
Student s = (Student) SpringContext.getBean("student");
Map<String, Student> map = new HashMap<>();
map.put("stu", s);
return map;
}
@ResponseBody
@RequestMapping(value="/stulist")
public List<Student> getList(){
Student s = (Student) SpringContext.getBean("student");
List<Student> list = new ArrayList<Student>();
list.add(s);
return list;
}
/****
* 效果和Map一致,但需要jackson jar包支持
* @date 2017年5月12日
* @author wanwenjun
* @return ModelAndView
*/
@ResponseBody
@RequestMapping(value="/student")
public ModelAndView getStu(String a){
Student s = (Student) SpringContext.getBean("student");
Map<String, Student> map = new HashMap<>();
map.put("stu", s);
return new ModelAndView(new MappingJackson2JsonView(),map);
}
}
maven依赖:
Jackson
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.7.3</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.7.3</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.7.3</version> </dependency>