前台ajax提交一个请求,spring mvc中用注解@ResponseBody与response.getWriter .write()有什么区别呢?当前项目网页版用@ResponseBody没问题,但是wap的用@Response的就报异常org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation,而用response.getWriter .write()就没问题。那个方法网页版用着没问题,浏览器直接调用也没问题,但是手机类型调用就走到异常了,改用response.getWrite.write()就好了。这是前端的请求,求解释。。不胜感激,都是返回的string格式的json串,用的alibaba的fastjson。public static String createOKMsg(Object ro) {
ReturnMsg okMsg = new ReturnMsg();
okMsg.setCode(Constant.CORRECT_CODE);
okMsg.setContent(ro);
return JSONObject.toJSONString(okMsg, SerializerFeature.WriteMapNullValue);
}前端用的是zepto.js
我的理解是在springmvc中返回值是String时,如果你不加@ResponseBody的话你返回的字符串就会找这个想对应的页面,如果找不到应该会报404错误,如果加上这个注解的话,返回的就是json字符串,还是返回你请求过来的页面