spring消息转化器

来源:互联网 发布:linux虚拟机网络文件 编辑:程序博客网 时间:2024/06/05 16:11

使用@responseBody时,如果返回类型是String,那么它是不会使用jackson去解析的,而是使用StringHttpMessageConverter

我们配置了<mvc:annotation-driven>,那么定位到AnnotationDrivenBeanDefinitionParser类的getMessageConverters方法,可以看到它默认加载了很多MessageConverter,其中有一个就是StringHttpMessageConverter,它的默认编码方式:DEFAULT_CHARSET = Charset.forName("ISO-8859-1");所以要解决这类型的乱码现象,就是在配置文件中使用<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg value="UTF-8" />
</bean>
</mvc:message-converters>
</mvc:annotation-driven>

来解决。

注意:我们定义了这样一个消息转换器后,spring会把它加载到MessageConverter集合中的第一个。

原创粉丝点击