SpringMVC ResponseBody返回字符串带双引号解决


声明:本文转载自https://my.oschina.net/huangy/blog/1603335,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

插播一条广告→2021 ByteDance字节跳动内推←各城市、各方向的岗位都有,大量招人!


我使用的spring version:4.3.4

1、为什么出现双引号?

主要是因为在返回的字符串不是json格式,同时又被默认org.springframework.http.converter.json.MappingJackson2HttpMessageConverter 处理,所以就导致了双引号

2、怎么解决?(三种配置都可以解决)

在当前spring version 下 配置一 (这是使用spring 默认的配置)

<mvc:annotation-driven/> 

配置二

	<mvc:annotation-driven> 		<mvc:message-converters> 			<bean class="org.springframework.http.converter.StringHttpMessageConverter"/> 			<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/> 		</mvc:message-converters> 	</mvc:annotation-driven> 

配置三

	<mvc:annotation-driven/>     <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">         <property name="messageConverters">             <list>                 <bean class="org.springframework.http.converter.StringHttpMessageConverter"/>                 <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>             </list>         </property>     </bean> 

配置二和配置三等效的

配置一和配置二的区别: 配置一converter 有很多都是spring 默认加载的, 配置二就只有你配置的两个converter

3、为什么这样就能解决? spring 会根据你配置converter来处理的你返回值,当返回的字符串同时又不是json 格式时,能够被org.springframework.http.converter.StringHttpMessageConverter 处理,就不会出现双引号,以上三种都可以解决这个问题

4、总结 只要保证我们的返回值被合适的converter处理就能得到我们想要的效果,具体可以查看org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter,这个类装配了很多处理单元。

如有错误,还望不吝赐教!

参考:http://blog.csdn.net/keketrtr/article/details/65442869

本文发表于2018年01月06日 18:32
(c)注:本文转载自https://my.oschina.net/huangy/blog/1603335,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 3891 讨论 0 喜欢 1

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1