微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SpringMVC中controller返回json数据的方法

本文实例为大家分享了SpringMVC中controller返回json数据的2种方法,供大家参考,具体内容如下

1.jsp的ajax请求:

function getJson(){
  $.ajax({
    type:"get",dataType:"json",url:"<%=basePath %>getJson",success:function(data){
      for(var i=0;i<jsonData.length;i++){
        alert("Id:"+data[i].id+"  username:"+data[i].username);
      }
    },    error:function(e){
      alert(e);
    }
  })
}

2.方法一:

使用springmvc原生注解@ResponseBody

  @ResponseBody
  @RequestMapping("/getJson")
  public Object getJson(){
    return new Object();
  }

注意:

1.@ResponseBody的作用:将目标方法的返回值自动转换成json格式,然后返回给前端

3.方法二:

使用手动写的json工具类

@RequestMapping("/getJson")
  public void getJson(HttpServletResponse response){
     Object obj = new Object();
    JSONObject json = JSONObject.fromObject(obj);
    JsonUtils.ajaxJson(json.toString(),response);
  }

附上JsonUtils工具类的代码

import java.io.IOException;

import javax.servlet.http.HttpServletResponse;

public class JsonUtils {
  public static void ajaxJson(String jsonString,HttpServletResponse response) {
    ajax(jsonString,"application/json",response);
  }
  public static void ajax(String content,String type,HttpServletResponse response) {
    try {
      response.setContentType(type + ";charset=UTF-8");
      response.setHeader("Pragma","No-cache");
      response.setHeader("Cache-Control","no-cache");
      response.setDateHeader("Expires",0);
      response.getWriter().write(content);
      response.getWriter().flush();
    } catch (IOException e) {
      e.printstacktrace();
    }
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐