上犹电脑信息网我们一直在努力
您的位置:上犹电脑信息网 > 文件问题 > 解决SpringMVC使用ResponseBody返回JSON在IE浏览器出现下载文件-ie下载的文件在哪

解决SpringMVC使用ResponseBody返回JSON在IE浏览器出现下载文件-ie下载的文件在哪

作者:上犹日期:

返回目录:文件问题

先看一个Controller方法

@ResponseBody

@RequestMapping(value = "/getUserById/{id}",method = {RequestMethod.GET})

public User getUserById(@PathVariable int id, HttpServletRequest request, HttpServletResponse response, Model model){

response.setContentType("text/html;charset=UTF-8");

response.setHeader("content-disposition", "inline;filename=*.txt");

User user = userService.getUserById(id);

return user;

}

返回一个User实体,通过@ResponseBody注解格式化为json对象输出的页面

但是在IE浏览器下面,会出现下载json文件的提示,而不是在页面显示

解决方法1:

在controller方法中加上这个就不会出现下载,而是显示json

response.setContentType("text/html;charset=UTF-8");

response.setHeader("content-disposition", "inline;filename=*.txt");

效果如下图:

解决SpringMVC使用ResponseBody返回JSON在IE浏览器出现下载文件

解决方法2:在spring-mvc.xml中配置

<mvc:annotation-driven>

<mvc:message-converters register-defaults="false">

<!-- 解决AJAX中文乱码 -->

<beans:bean class="org.springframework.http.converter.StringHttpMessageConverter">

<beans:constructor-arg value="UTF-8"/>

</beans:bean>

<beans:bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">

<beans:property name="prettyPrint" value="false" />

<beans:property name="supportedMediaTypes">

<beans:list>

<beans:value>text/html;charset=UTF-8</beans:value>

<beans:value>application/json</beans:value>

</beans:list>

</beans:property>

<beans:property name="objectMapper">

<beans:bean class="com.fasterxml.jackson.databind.ObjectMapper">

<beans:property name="serializationInclusion">

<beans:value type="com.fasterxml.jackson.annotation.JsonInclude.Include">NON_NULL</beans:value>

</beans:property>

</beans:bean>

</beans:property>

</beans:bean>

</mvc:message-converters>

</mvc:annotation-driven>

效果如下图:

解决SpringMVC使用ResponseBody返回JSON在IE浏览器出现下载文件

上述配置,需要依赖jar包,如果工程使用的是maven在pom.xml中加入以下依赖:

pom文件中需要下面的jar包

<!-- json数据 -->

<dependency>

<groupId>org.codehaus.jackson</groupId>

<artifactId>jackson-mapper-asl</artifactId>

<version>1.9.13</version>

</dependency>

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>fastjson</artifactId>

<version>1.2.7</version>

</dependency>

<!-- Jackson -->

<dependency>

<groupId>com.fasterxml.jackson.core</groupId>

<artifactId>jackson-core</artifactId>

<version>${version.jackson}</version>

</dependency>

<dependency>

<groupId>com.fasterxml.jackson.core</groupId>

<artifactId>jackson-databind</artifactId>

<version>${version.jackson}</version>

</dependency>

<dependency>

<groupId>com.fasterxml.jackson.module</groupId>

<artifactId>jackson-module-jaxb-annotations</artifactId>

<version>${version.jackson}</version>

</dependency>

相关阅读

  • JSP 表单处理-如何打开jsp文件

  • 上犹文件问题
  • 如何打开jsp文件,我们在浏览网页的时候,经常需要向服务器提交信息,并让后台程序处理。浏览器中使用 GET 和 POST 方法向服务器提交数据。 GET 方法 GET方法将请求的编码信息添加在网
  • 从服务器下载文件(附源码)-package文件

  • 上犹文件问题
  • package文件,此篇是接上篇《文件上传服务器》点击可跳转,均使用NIO。网上有很多说明,在此不多说需要jar包:commons-fileupload-1.3.2,commons-io-2.5,jstl-1.2本项目是采用的maven目录结构,但是
关键词不能为空
极力推荐

电脑蓝屏_电脑怎么了_win7问题_win10问题_设置问题_文件问题_上犹电脑信息网

关于我们