问题描述:
1、控制层Controller的一个返回要求返回JSON串给JSP页面调用。
2、JSON返回到页面的时候,中文全是??????(问号)。
//这是控制层的方法,打了两个注解@RequestMapping,@ResponseBody
@RequestMapping("/test")
@ResponseBody
public String test() {
return "这是中文.";
}
3、在浏览器中直接访问,这个/test路径,结果页面显示“??????”
解决方法:
1、修改@RequestMapping注解中的参数,加上produces这个参数。
@RequestMapping(value="/test",produces="text/html;charset=UTF-8")
2、如果这个控制层的方法所在的类,在声明的时候,也有@RequestMapping这个注解,那么只需要在这个注解加上步骤一的参数即可。(如果在方法中加这个参数,但是方法所在类的声明中没有加,则还是出现中文乱码。)
3、最后一步,清理浏览器缓存即可。结果如下。
备注:应该还有其他更好的方法,找到再补充。