spring 3.0 @ResponseBody注解返回中文问号乱码解决办法

注:此文章为转载文章,原文地址:https://www.cnblogs.com/qwqwQAQ/p/9034493.html,此方法有效故转载

前几天给公司做项目,很久没接触java项目的我,遇到了一个问题,就是我在利用异步到控制器中查询,然后返回jaon字符串到前台,字符串中包含中文,于是我直接用了@ResponseBody注解,来返回到前台。

但是中文一直是问号返回到前台。后来几经尝试,在配置文件中添加字符集还是没用,我发现我没写错,后来某次突然想到是不是因为放错位置了,果然,字符集配置应该放在包扫描配置之前,不然扫描完成后再去设置字符也没有意义了。所以以下配置为正确解决办法。。

 <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>  
<!-- 配置包扫描器 -->
<context:component-scan base-package="com.CanteenEvalute.controller"></context:component-scan>
<!-- 配置视图解析 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/"></property>
    <property name="suffix" value=".jsp"></property>
</bean>
posted @ 2021-01-10 10:03  iHADream  阅读(184)  评论(0编辑  收藏  举报