IE6下用response下載文件時文件輸出流報錯

在作一個從數據庫中查詢數據後生成文件並彈出下載框l的操做,在IE8下正常,可是在Ie6下面點擊導出就報錯,錯誤信息以下:javascript

2013-12-26 08:45:20 org.apache.catalina.core.StandardWrapperValve invoke
嚴重: Servlet.service() for servlet default threw exception
java.lang.IllegalStateException
 at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:407)
 at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:752)
 at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:505)java


頁面上的導出按鈕是一個超連接:數據庫

 

 <a href="javascript:void(0)" onclick="window.location=encodeURI('Policy_policyContentsExport.action?oid=${(policy.id)!''}&pname=${(policy.name)!''}');">導出</a>apache

 

經排除確認是IE6對javascript:void(0);的支持問題,最後在其添加return false,強制給其一個返回值,再也不等待,修改後:瀏覽器

 <a href="javascript:void(0)" onclick="window.location=encodeURI('Policy_policyContentsExport.action?oid=${(policy.id)!''}&pname=${(policy.name)!''}');return false;">導出</a>app

備:同時修改成<a href="#" onclick="window.location=encodeURI('Policy_policyContentsExport.action?oid=${(policy.id)!''}&pname=${(policy.name)!''}');">導出</a>也是能夠的,可是href="#"也存在瀏覽器兼容性問題,雖然解決了該問題,但還存在問題風險,不建議使用spa

相關文章
相關標籤/搜索