现在的位置: 首页 > 综合 > 正文

springmvc Spring3 MVC @ResponseBody返回,jquery ajax调用中文乱码问题解决

2013年10月14日 ⁄ 综合 ⁄ 共 895字 ⁄ 字号 评论关闭

Spring3.0 MVC @ResponseBody 的作用是把返回值直接写到HTTP response body里。具体实现AnnotationMethodHandlerAdapter类handleResponseBody方法,具体实现代码:

结果输出乱码:???????

有人跟踪@ResponseBody 的实现类发现其默认的编码是 iso-8859-1,

解决办法,在spring mvc的配置文件中手工配置bean:

<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->   

<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/html;charset=UTF-8</value>  

                     </list>  

                </property>  

             </bean>  

         </list>  

   </property> 

</bean> 

这样通过配置AnnotationMethodHandlerAdapter类messageConverters属性来指定编码。

记住,需要把bean部分加入到<context:component-scan base-package="com.zlscw.mvc" />前面,这样就可以在jquery中直接调用而不出现乱码了。

抱歉!评论已关闭.