spring+mybatis 通过@ResponseBody返回结果中文乱码的解决方法
时间:2021-04-24 09:25:37|栏目:JAVA代码|点击: 次
问题发生:
通过@Responsebody返回
@ResponseBody
@RequestMapping(value ="/selectByFormId",method = RequestMethod.GET)
public Map<String,Object> getClassName(String formId){
List<String> list =formInfoService.selectClassName(formId);
Map<String,Object> map = new HashMap<String, Object>();
map.put("data", list);
map.put("status", true);
return map;
}
结果:
{"data":["璧?璁?璇疯喘绫�","淇???绫�","绠$??绫�","????绫�","?ㄨ?绫�","璧?浜х?�","璧?璁????$?�","宸???绠$??绫�",<br>"??璐?绫�","浜轰????ょ?�","璐㈠?$?�","瀹㈡?风?�","瑙???绫�","瀹㈣??绫�","浜轰?娲诲?ㄧ?�","浜轰?琛??跨?�","????绫�",<br>"璇锋?剧?�","??绠$被","?ヨ?涓??$?�"],"status":true}
解决办法:
在spring-mvc.xml中配置
<!-- 解决ResponseBody 乱码问题StringHttpMessageConverter这个转换器转换时,父类AbstractHttpMessageConverter的supportedMediaTypes属性默认是iso-8895-1导致 -->
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes" value="text/html;charset=utf-8"></property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
但是配置完后又有了新的问题
error:...cvc-complex-type.2.1: 元素 'mvc:annotation-driven' 必须不含字符或元素信息项 [子级], 因为该类型的内容类型为空。
后来知道是 springMVC的XSD文件版本不对,换成springMVC 4.0的 XSD就可以了
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
然后就ok了
{"data":["资讯请购类","促销类","管理类","暂支类","储运类","资产类","资讯服务类","差旅管理类","采购类","人事考勤类"<br>,"财务类","客户类","视拓类","客诉类","人事活动类","人事行政类","公文类","请款类","销管类","营运业务类"],"status":true}
StringHttpMessageConverter 这个方法 有很多转换作用,有时间可以多看看
上一篇:Java按照List内存储的对象的某个字段进行排序的实例
栏 目:JAVA代码
下一篇:2020macOS Big Sur配置Java开发环境之jdk安装过程
本文标题:spring+mybatis 通过@ResponseBody返回结果中文乱码的解决方法
本文地址:http://www.codeinn.net/misctech/107464.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




