美文网首页
SpringMVC 使用汇总

SpringMVC 使用汇总

作者: jiangmo | 来源:发表于2018-01-26 18:06 被阅读35次

    @ResponseBody和@RequestBody

    springmvc对json的前后台传输做了很好封装,避免了重复编码的过程,下面来看看常用的@ResponseBody和@RequestBody注解

    • 添加依赖springmvc对json的处理依赖jackson
    • <mvc:annotation-driven />//不要忘了命名空间配置
    • 如果传输的是单层json对象,可以直接用 @RequestParam接收
    //前台
    $.ajax({  
      type : "post",  
      dataType : "json",  
      url : "/testRequestBody",  
      data:{  
        name:"韦德",  
        age:35  
      },  
      success : function(result) {  
      }  
    //后台
    @RequestMapping("/testRequestBody")  
    public String testRequestBody(@RequestParam Map<String, Object> map) {  
     System.out.println(map);// {name=韦德, age=35}  
     return "index";  
    }  
    
    • 如果传输的是多层嵌套json对象,使用@ResponseBody,否则会出现数据丢失问题
    $.ajax({  
      type : "post",  
      dataType : "json",  
      url : "/testRequestBody",  
      contentType:"application/json",    
      data:JSON.stringify({  
        name:"韦德",  
        win:[2006,2012,2013],  
        age:35  
      }),  
      success : function(result) {  
      }  
    //后台
    @RequestMapping("/testRequestBody")  
    public String testRequestBody(@RequestBody Map<String, Object> map) {  
     System.out.println(map);//{name=韦德, win=[2006, 2012, 2013], age=35}  
     return "index";  
    
    • @ResponseBody:返回json格式数据给前台
    @RequestMapping("/testResponseBody")  
    @ResponseBody  
    public Map<String, Object> testRequestBody() {  
     Map<String, Object> result = new HashMap<String, Object>();  
     result.put("name", "韦德");  
     result.put("age", 35);  
     return result;  
    } 
    

    相关文章

      网友评论

          本文标题:SpringMVC 使用汇总

          本文链接:https://www.haomeiwen.com/subject/unlwaxtx.html