SpringMVC中controller返回json数据的方法

时间:2021-05-19

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

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章