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

相关文章
相关标签/搜索