项目使用:sPRing3.0+hibernate
问题描述:使用@ResponseBody 返回json数据时,后台日志打印正常,前端页面接收中文乱码????? ,
解决:
1、如果是新项目可以考虑升级spring为3.1及以上版本,然后 可使用 produces 注解
@RequestMapping(value = "/produces", produces = "application/json"):表示将功能处理方法将生产json格式的数据,此时根据请求头中的Accept进行匹配,如请求头“Accept:application/json”时即可匹配;
2、这个是老项目,不想动看原有版本,最终测试可行的方案:
在spring.xml文件中添加:
<!--编码转换,其默认为ISO-8859-1--> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="cacheSeconds" value="0" /> <property name="messageConverters"> <list> <bean class = "org.springframework.http.converter.StringHttpMessageConverter"> <property name = "supportedMediaTypes"> <list> <value>application/json;charset=UTF-8</value> </list> </property> </bean> </list> </property> </bean> <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
新闻热点
疑难解答