SpringMVC使用stringHttpMessageConverter
场景演示
当使用@ReponseBody注解的时候,我们知道返回值会被转换成 Json格式
.然而里面的中文可能会被转换成乱码,如下面代码中的’测试错误’可能就被转换成‘?????’。显然这对我们的开发很有影响的,这时候超级英雄spring出现了
@Controller
public class tipicalCOntroller{
@ResponseBody
@RequestMapping(value = "/test")
public String text() {
return "{\"code\":0,\"errmsg\":"测试错误",\"data\":{\"testQuery\":\"测试查询\",\"id\":867820100,\"url\":\"www.baidu.com\"}}";
}
}
解决方法
- 在spring的配置文件中加入如下代码配置stringHttpMessageConverter,因为在RsponseBody注解下,Spring处理返回值为String时会用到StringHttpMessageConverter,我们只需要在配置文件中设置好他的编译编码就ok了
<mvc:annotation-driven>
<mvc:message-converters>
<ref bean="stringHttpMessageConverter" />
<ref bean="mappingJackson2HttpMessageConverter" />
</mvc:message-converters>
</mvc:annotation-driven>
<bean id="stringHttpMessageConverter"
class="org.springframework.http.converter.StringHttpMessageConverter" />