免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
關(guān)于 解決Spring @ResponseBody注解返回字符串IE提示下載

在Spring中對(duì)于Ajax請(qǐng)求 在控制器中可以標(biāo)注@ResponseBody注解,來讓Spring不進(jìn)行視圖渲染 而直接返回字符串。但是IE中總是提示下載。

最近做一個(gè)項(xiàng)目,之前一直都是用火狐調(diào)試,昨天心血來潮用IE測(cè)了一下,發(fā)現(xiàn)了這個(gè)問題!

然后果斷谷歌度娘之,主要有兩種解決辦法:

1. 直接使用response來寫,這個(gè)就不多解釋了,詳見http://www.cnblogs.com/danghuijian/archive/2012/06/21/2557415.html

2. 使用ResponseEntity<String>,詳見http://blog.csdn.net/songyongfeng/article/details/8663886,這個(gè)沒有試過,不過應(yīng)該是可以解決問題的。

這2個(gè)方法都是去掉@ResponseBody注解。

雖然可以解決,但是個(gè)人喜歡@ResponseBody注解的優(yōu)雅(不喜者勿噴),所以依然沒有放棄。

出現(xiàn)這個(gè)問題原因就是Ajax返回的response的hearder 是 Content-Type=application/json。這個(gè)是新標(biāo)準(zhǔn),IE不識(shí)別。

那第一反應(yīng)的解決辦法就是在攔截器里,用response.setHeader();直接修改不就O了

但是經(jīng)測(cè)試無效,詳細(xì)原因見 http://blog.csdn.net/tanguang_honesty/article/details/12782523


然后改變了下思路,跟蹤springmvc源碼,AbstractHttpMessageConverter 這個(gè)類是處理@ResponseBody注解方法的。

他里面的write是調(diào)用轉(zhuǎn)換器(我用的是阿里巴巴的FastJson   FastJsonHttpMessageConverter)轉(zhuǎn)成json之后寫到前臺(tái),

發(fā)現(xiàn)這里response的header已經(jīng)是application/json了,難道是springmvc默認(rèn)的是這個(gè),那不就無解了。

還不死心,有一層一層的往上找,終于,在不小心看了一下FastJson   FastJsonHttpMessageConverter的源碼之后豁然開朗



原來application/json是從這里來的,這下就好辦了

修改下配置文件



測(cè)試,OK,問題解決。

很久沒有這樣花2天時(shí)間來解決一個(gè)問題,個(gè)人覺得是比較優(yōu)雅的解決方案。特此記錄一下。

對(duì)于用默認(rèn)的json轉(zhuǎn)換器jackson的解決方法應(yīng)該是類似的,因?yàn)闆]有用就沒有詳細(xì)研究


原創(chuàng) 轉(zhuǎn)載需注明

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Spring MVC 4.0 RESTFul Web Service JSON Response with @ResponseBody | ProgrammingFree
Spring 注解學(xué)習(xí)手札(七) 補(bǔ)遺——@ResponseBody,@RequestBody,@PathVariable
從MVC到前后端分離
前后分離
springboot注解整理
Spring Boot 全局異常處理整理
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服