在spring-mvc中,控制器的处理方法使用@RequestBody注解向前台页面以JSON格式进行数据传递时,返回中文则或出现乱码!!!
原因:我们使用的StringHttpMessageConverter中固定了编码格式。
那么我们要做的就是改变他的编码格式
这里介绍两种方式
一、在控制器处理方法上@RequestMapper注解中配置 produces={"application/json;charset=utf-8"}
注意这里的 value 属性值最好不要带.html 。springMvc会以HTML格式去响应
/**
* 查看用户信息
*/
@RequestMapping(value="/view/{uid}" ,method=RequestMethod.GET,produces={"application/json;charset=utf-8"})
@ResponseBody
public Object view( @PathVariable String uid){
//
}
二、配置全局的消息转换器,在spring-mvc.xml中配置代码
<mvc:annotation-driven >
<!-- json格式转换 -->
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list><value>application/json;charset=utf-8</value></list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>