IE не может скачать foo.jsf.IE не смог открыть этот интернет-сайт.Запрашиваемый сайт либо недоступен, либо не найден - PullRequest
12 голосов
/ 17 февраля 2011

Я предоставляю файл для загрузки (обычно CSV или PDF) в мое веб-приложение JSF на хосте HTTPS (SSL). В большинстве браузеров работает нормально, только IE7 / 8 выдает следующую ошибку:

Internet Explorer не может загрузить foo.jsf. Internet Explorer не смог открыть этот интернет-сайт. Запрашиваемый сайт либо недоступен, либо не найден. Пожалуйста, попробуйте еще раз

Я думаю, что ошибка связана с тем, что тег JSF <h:commandLink> не совместим с IE.

<h:commandLink value="Download" action="#{bean.download}" />

Как это вызвано и как я могу это решить?

Ответы [ 2 ]

15 голосов
/ 18 февраля 2011

Это типичное сообщение об ошибке MSIE, когда загрузка осуществляется через HTTPS (SSL), а заголовки ответа настроены на отключение кэша браузера через no-cache. Эта проблема не связана с JSF.

Вам нужно ослабить заголовки ответа, которые влияют на кеш браузера. Он не должен содержать инструкцию no-cache. Вы можете установить его на public, private или no-store.

response.setHeader("Cache-Control", "public");
response.setHeader("Pragma", "public");

См. Также MS KB Q316431 .

Кроме того, если вы работаете на WebSphere Application Server, добавьте также заголовок ниже, чтобы впоследствии он не мог переопределить заголовок Cache-Control:

response.setHeader("CookiesConfigureNoCache", "false");             

См. Также IE не может загружать файлы через SSL, обслуживаемый WebSphere .

1 голос
/ 18 февраля 2011

Проблема не связана с jsf, поскольку она просто конвертирует командную кнопку в html, который доступен во всех браузерах.Я предполагаю, что проблема в abcBean.downloadCSV.Правильно ли вы устанавливаете тип содержимого в файле csv?

Можете ли вы описать, что происходит в вашем методе действий?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...