您的位置:首页 > 编程语言 > Java开发

解决spring-mvc @responseBody注解返回json 乱码问题

2016-06-06 08:18 573 查看
在SpringMVC中在Controller层中使用注解@ResponseBody
返回前台是一个java对象时是不会出现乱码现象的,是因为@ResponseBody的默认行为是将java对象转换成json返回前台,他的请求头为:

Content-Type:

application/json;charset=utf-8

如图:




那么当如果我们项目中涉及到跨域或者业务需求 需要手动将java转换成json返回给前台,这时候直接返回就会出现乱码。

如图:





原因:是因为会将字符当成html解析。

除了使用Response在代码中设置请求头外,还可以使用下面两种方式。

解决一:





解决二:(前提条件:springmvc4.1)

使用的是springmvc提供的一个工具类MappingJacksonValue

该类支持jsonp的调用,[b]当涉及到跨域需要返回一个js片段时可以使用:jacksonValue.setJsonpFunction(functionName);[/b]






内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jsonp json 乱码 spring mvc