SpringMVC中controller返回json数据的两种方法

SpringMVC中controller返回json数据的两种方法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();        }    }}

不是每个人都一定快乐,不是每种痛都一定要述说。

SpringMVC中controller返回json数据的两种方法

相关文章:

你感兴趣的文章:

标签云: