天天看点

JSON数据传递的中文乱码

在spring-mvc中,控制器的处理方法使用@RequestBody注解向前台页面以JSON格式进行数据传递时,返回中文则或出现乱码!!!

原因:我们使用的StringHttpMessageConverter中固定了编码格式。

JSON数据传递的中文乱码

那么我们要做的就是改变他的编码格式

这里介绍两种方式

一、在控制器处理方法上@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>