spring 3.0 @ResponseBody注解返回中文问号乱码解决办法
前几天给公司做项目,很久没接触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> </beans>