首页 > 开发 > Java > 正文

SpringMVC中controller返回json数据的方法

2024-07-13 10:11:31
字体:
来源:转载
供稿:网友

本文实例为大家分享了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();    }  }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VeVb武林网。


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表