mon*_*ona 12 https jsf internet-explorer download
我在HTTPS(SSL)主机上的JSF Web应用程序中提供文件下载(通常是CSV或PDF).它在大多数浏览器中都能正常工作,只有IE7/8会出现以下错误:
Internet Explorer无法下载foo.jsf.Internet Explorer无法打开此Internet站点.请求的网站不可用或无法找到.请再试一次
我认为该错误与JSF <h:commandLink>标记与IE不兼容有关.
<h:commandLink value="Download" action="#{bean.download}" />
Run Code Online (Sandbox Code Playgroud)
这是怎么造成的,我该如何解决?
Bal*_*usC 15
当通过HTTPS(SSL)提供下载时,这是典型的MSIE错误消息,而响应标头已设置为禁用浏览器缓存no-cache.此问题与JSF无关.
您需要放松对浏览器缓存有影响的响应标头.它不应该包含no-cache指令.您可以将其设置为public,private或no-store.
response.setHeader("Cache-Control", "public");
response.setHeader("Pragma", "public");
Run Code Online (Sandbox Code Playgroud)
另请参见 MS KB Q316431.
此外,如果您碰巧在WebSphere Application Server上运行,那么也要添加以下标头,以防止它Cache-Control随后覆盖标头:
response.setHeader("CookiesConfigureNoCache", "false");
Run Code Online (Sandbox Code Playgroud)
另请参见IE无法通过WebSphere提供的SSL下载文件.
| 归档时间: |
|
| 查看次数: |
6861 次 |
| 最近记录: |