@RequestMapping("value")
@ResponseBody
今天写web,一直用@responseBody返回实体类对象,都是OK的,如上
后来碰到既返回实体对象集合又返回单个数值的情况,改用response返回,发现中文全都变成了问号
网上有人说用这种方式
@RequestMapping(value="value", produces="application/json; charset=utf-8")
我试了,不行,还是乱码
最后我在response自身上修改,直接解决问题,附上代码供参考,简单直接
@RequestMapping(value="value")
public void getUser(int id, HttpServletResponse response) throws IOException {
String data = "{\"result\":\"null\"}";
int number = 1;
List<User> users = userservice.getUser(id);
data = "{\"user\":"+users+",\"number\":"+number+"}";
response.setCharacterEncoding("utf-8"); //设置编码方式
response.setContentType("application/json"); //设置回传数据格式
//以上两步要在getWriter之前设置
response.getWriter().write(data);
}