您的位置:首页 > Web前端 > JavaScript

@ResponseBody注解时返回字符串被转成json格式会多出双引号的解决方法

2017-05-16 00:00 435 查看
被@ResponseBody注解的方法通常用来将返回值作为响应体,如果只配置了json转换器,那么当返回的只是普通字符串时,字符串会被转成json,于是前后就多出了双引号。

在spring-mvc.xml中这样配置即可解决:

<!--返回普通字符串作为响应体-->
<bean id="stringHttpMessageConverter" class="org.springframework.http.converter.StringHttpMessageConverter" />
<!--避免IE执行AJAX时,返回JSON出现下载文件 -->
<bean id="mappingJackson2HttpMessageConverter"
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/json;charset=UTF-8</value>
</list>
</property>
</bean>
<!-- 启动SpringMVC的注解功能,完成请求和注解DOMAIN的映射 RequestMappingHandlerAdapter -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="stringHttpMessageConverter" /> <!-- 字符串 -->
<ref bean="mappingJackson2HttpMessageConverter" /> <!-- JSON转换器 -->
</list>
</property>
</bean>

需要注意的是,我用的spring版本是4.3.6,因此设置的是RequestMappingHandlerAdapter,其他低版本要设置成AnnotationMethodHandlerAdapter,具体百度即可知晓。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: