日期:2014-05-16 浏览次数:20659 次
Spring3.0 MVC @ResponseBody 的作用是把返回值直接写到HTTP response body里。具体实现AnnotationMethodHandlerAdapter类handleResponseBody方法,具体实现代码: ? 结果输出乱码:??????? ? ? 有人跟踪@ResponseBody?的实现类发现其默认的编码是 iso-8859-1, 解决办法,在spring mvc的配置文件中手工配置bean: ? 这样通过配置AnnotationMethodHandlerAdapter类messageConverters属性来指定编码。
<!--?启动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>??
记住,需要把bean部分加入到<context:component-scan base-package="com.zlscw.mvc" />前面,这样就可以在jquery中直接调用而不出现乱码了。