最近俺的项目中使用spring3 mvc,前端使用jquery,感觉真是爽啊,尤其是采用注解后感觉整体的结构清晰,
配置很少,能够快速的开发应用,真是做到开发,约定俗称了。
但是在使用@ResponseBody 时,遇到了编码的问题,俺正统用的utf-8,结果前台竟然是乱码,只好baidu+google啦。
在网上浏览了好多,大家各显其能,有的自己写Converter,有的改response编码。大部分兄弟们都是采用的bean注入方式来设定编码。下面是个网上的例子
http://tdcq.iteye.com/blog/842222
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" >
<property name="messageConverters">
<list>
<bean class = "org.springframework.http.converter.StringHttpMessageConverter">
<property name = "supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
<mvc:annotation-driven />
上面这段代码,我试了,发现偶尔起作用,大部分时间不起作用。去掉<mvc:annotation-driven />后起作用了,但是可能其他代码会受到影响。
随后俺跟随断点,看看到底是咋走的?俺通过StackTrace看到,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter
这个类中存在supportedMediaTypes,这个类的supportedMediaTypes一直都是iso-8859-1,根本不是俺想注入的utf-8,俺当时就想啦,那俺注入这里面不就行啦!
俺尝试如下:
<bean
class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="stringHttpMessageConverter" />
</list>
</property>
</bean>
<bean id="stringHttpMessageConverter"
class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
一试,竟然成功了。随后俺跟了跟断点起作用了。
这里奉劝各位兄弟姐妹,网上的东西还是要仔细研究的,不要转来转去的。
分享到:
相关推荐
Spring MVC下彻底解决@ResponseBody转义html特殊字符问题,解决包括尖角号(),单引号('),双引号("),按位与(&),反斜杠(\)。
-- @ResponseBody() spring-mvc 3 xml 配置--> <!--处理 @ResponseBody 中文乱码问题 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> ...
下面小编就为大家分享一篇spring+mybatis 通过@ResponseBody返回结果中文乱码的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
NULL 博文链接:https://nethub2.iteye.com/blog/2329387
主要介绍了spring boot @ResponseBody转换JSON 时 Date 类型处理方法,主要给大家介绍Jackson和FastJson两种方式,每一种方法给大家介绍的都非常详细,需要的朋友可以参考下
1)spring MVC 中@ResponseBody需要的所有JAR包 2)性能还不错的模板引擎jetbrick-template-2.x 2.x的所需的所有jar包 3)日志jar包:slf4j和logback 所有 4)阿里 druid 连接池jar包 5)mysql数据库链接驱动jar包 6...
Spring MVC中默认的ResponseBody为String的乱码问题.pdfSpring MVC中默认的ResponseBody为String的乱码问题.pdf
主要介绍了Spring MVC打印@RequestBody、@Response日志的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
SpringMVC使用@ResponseBody.rar
主要介绍了SpringMVC中解决@ResponseBody注解返回中文乱码问题, 小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了@ResponseBody 和 @RequestBody 注解的区别的相关资料,需要的朋友可以参考下
具体包括三个jar: jackson-databind-2.8.2.jar jackson-core-2.8.2.jar jackson-annotations-2.8.2.jar
NULL 博文链接:https://coocaobo.iteye.com/blog/2410629
《Spring MVC 3.0实战指南》,参考《Spring 3.x企业应用开发实战》。 内容简介: 1、Spring MVC框架简介 2、HTTP请求地址映射 3、HTTP请求数据的绑定 4、数据转换、格式化、校验 5、数据模型控制 6、视图及...
NULL 博文链接:https://snowolf.iteye.com/blog/1628861
springmvc进行Jason数据封装转化时可以即使用也是@responsebody对数据进行封装的时候需要的工具类
主要介绍了关于@ResponseBody 默认输出的误区的解答,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
主要介绍了Springmvc 4.x利用@ResponseBody返回Json数据的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
springmvc+国际化i18N+springmvc验证+jetbrick-template使用+@responsebody+谷歌guava: 1)围绕springmvc做的国际化 2)围绕springmvc做的验证 3)使用的jetbrick-template模板引擎 ……