package cn.com.lzt.common.view; import com.alibaba.fastjson.JSON; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.View; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Map; public class JsonDataModelAndView extends ModelAndView { private Object objectJson; private static Gson gson = new Gson(); public JsonDataModelAndView(Object objectJson){ super(); this.objectJson= objectJson; } @Override public View getView(){ return new View() { @Override public String getContentType() { return "application/json;charset=utf-8"; } @Override public void render(Map map, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { httpServletResponse.setContentType(getContentType()); ServletOutputStream out = httpServletResponse.getOutputStream(); try { if(objectJson != null) { String json = JSON.toJSONString(objectJson); byte[] bytes = json.getBytes("utf-8"); out.write(bytes); out.flush(); } }finally { if(out != null) { out.close(); } } } }; } }