SpringMVC解决返回JSON格式,IE显示保存文件
2015-07-28 23:13
429 查看
这是我从网上搜索总结得来的
使用了Spring4.1.6
首先为什么IE会提示保存文件?
因为SpringMVC默认的Json转换器设置响应头设置为application/json
但是至少IE9不支持[b]application/json格式,这时候需要更改json返回的响应头为”text/html;chartset=UTF-8“了.[/b]
因为SpringMVC一般都加了这个
<mvc:annotation-driven />
这个有很多好处
<!-- <mvc:annotation-driven/> 会自动注册RequestMappingHandlerMapping 、RequestMappingHandlerAdapter
与 ExceptionHandlerExceptionResolver 三个bean。 还将提供以下支持: 支持使用 ConversionService
实例对表单参数进行类型转换 – 支持使用 @NumberFormatannotation、@DateTimeFormat – 注解完成数据类型的格式化
支持使用 @Valid 注解对 JavaBean 实例进行 JSR 303 验证 – 支持使用 @RequestBody 和 @ResponseBody
注解 -->
这个时候就需要更改JSON转换器的返回响应头了
需要这三个JAR
jackson-annotations-2.5.0.jar,jackson-core-2.5.0.jar,jackson-databind-2.5.0.jar
把[b]<mvc:annotation-driven />注解改成这样[/b]
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html; charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
然后就大功告成了,当然了,这好像只完成了返回Json对象为Map的响应头更改,
是不是此时我也没有做实验。
反正返回Map的方法IE是不会再提示保存文件了
使用了Spring4.1.6
首先为什么IE会提示保存文件?
因为SpringMVC默认的Json转换器设置响应头设置为application/json
但是至少IE9不支持[b]application/json格式,这时候需要更改json返回的响应头为”text/html;chartset=UTF-8“了.[/b]
因为SpringMVC一般都加了这个
<mvc:annotation-driven />
这个有很多好处
<!-- <mvc:annotation-driven/> 会自动注册RequestMappingHandlerMapping 、RequestMappingHandlerAdapter
与 ExceptionHandlerExceptionResolver 三个bean。 还将提供以下支持: 支持使用 ConversionService
实例对表单参数进行类型转换 – 支持使用 @NumberFormatannotation、@DateTimeFormat – 注解完成数据类型的格式化
支持使用 @Valid 注解对 JavaBean 实例进行 JSR 303 验证 – 支持使用 @RequestBody 和 @ResponseBody
注解 -->
这个时候就需要更改JSON转换器的返回响应头了
需要这三个JAR
jackson-annotations-2.5.0.jar,jackson-core-2.5.0.jar,jackson-databind-2.5.0.jar
把[b]<mvc:annotation-driven />注解改成这样[/b]
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html; charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
然后就大功告成了,当然了,这好像只完成了返回Json对象为Map的响应头更改,
是不是此时我也没有做实验。
反正返回Map的方法IE是不会再提示保存文件了
相关文章推荐
- XML 与 JSON 优劣对比
- IE右键菜单被修改
- IE:获取完整的网页
- IE:脱机浏览网页
- 利用IE收听“广播”
- 清除IE分级审查密码
- IE:添加编辑器
- 解决Ajax悬停效果,无法遮蔽FLASH的问题
- IE:“自动完成”功能
- IE:如何做到全屏显示
- 给IE加个参数 永远不怕IE主页被修改
- IE:使用搜索助手
- IE:最好用的起始页
- IE:临时文件保存法
- 欲练CSS ,必先解决IE的一些细节分析
- 再谈Jquery Ajax方法传递到action(补充)
- 不同版本IE使用不同css(css条件注释语句用法)
- Dom在ajax技术中的作用说明
- newtonsoft.json解析天气数据出错解决方法
- 解决ie动态修改link样式,import css不刷新的问题