SpringMVC @ResponseBody在IE8变下载

在使用IE8请求用@ResponseBody注解返回json格式数据的action时自动变下载页面,火狐和chorme正常。其原因就是响应Content-Type的值为application/json;charset=UTF-8时,IE下会自动变成下载。

查看服务器响应头信息可通过firefox或Fiddler软件
Fiddler截获响应信息如下图
SpringMVC @ResponseBody在IE8变下载_第1张图片

解决方法就是修改springMvc.xml配置,调整supportedMediaTypes中值的顺序,优先返回text/html;charset=UTF-8
附配置如下图

<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
    <property name="supportedMediaTypes">
        <list>
            <value>text/html;charset=UTF-8value>
            <value>application/json;charset=UTF-8value>
        list>
    property>
    <property name="objectMapper">
        <bean class="org.codehaus.jackson.map.ObjectMapper">
            <property name="serializationInclusion">
                <value type="org.codehaus.jackson.map.annotate.JsonSerialize$Inclusion">NON_NULLvalue>
            property>
        bean>
    property>
bean>

你可能感兴趣的:(java,ie,8,json,下载)