zoukankan      html  css  js  c++  java
  • springmvc Spring3 MVC @ResponseBody返回,jquery ajax调用中文乱码问题解决


    http://fableking.iteye.com/blog/1577274

    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中直接调用而不出现乱码了


  • 相关阅读:
    MDI窗体容器
    记事本制作、流的初步引用、窗口的三种显示类型
    ListVies控件的应用
    变量常量
    百度地图自定义离线地图
    通过配置文件方式修改 axios 请求地址
    百度地图坐标偏差
    Vue 全局指令限制输入框输入
    axios post请求发送数组
    WebSocket
  • 原文地址:https://www.cnblogs.com/danghuijian/p/4400033.html
Copyright © 2011-2022 走看看