JSF 2 и ссылка на файловую систему - PullRequest
1 голос
/ 08 декабря 2011

Мне нужно предоставить ссылку на файл в файловой системе сервера. В обычном HTML это выглядит примерно так:

<a href="C:\Users\user\resources\147ebg.jpg">Image or word doc or whatever</a>

Но я не могу заставить эту простую вещь работать с JSF 2. Я попробовал h:outputLink так:

<h:outputLink value="C:\Users\e\workspace\IDEXRoughAuctions\WebContent\resources\147ebg.jpg" id="test1">Testing output link</h:outputLink>

но когда я нажимаю на ссылку, ничего не происходит. (Я попробовал Windows и Unix стиль разделителей, а также добавив файл: /// перед путем, но не повезло.)

То же самое происходит с h:commandLink и просто с h:link, которые в любом случае, если я правильно понимаю, направлены на навигацию между страницами JSF. (И да, я пытался привести их в форму, хотя в этом нет особого смысла.)

Так, как эта простая задача выполнена?

1 Ответ

2 голосов
/ 08 декабря 2011

Вы можете в JSF также просто использовать <a>.

Но это не сработает.Вы понимаете, что эта ссылка будет указывать на ресурс в файловой системе локального диска клиента, а не в файловой системе локального диска сервера?HTML «работает» в веб-браузере, а не в веб-сервере.Другими словами, каждый посетитель вашей веб-страницы должен иметь этот файл уже в своей файловой системе на локальном диске.Кроме того, большинство браузеров запрещают по соображениям безопасности открывать file:// ресурсы, когда веб-страница обслуживается более чем http://.

Если вы хотите предоставлять контент извне общедоступного веб-контента, то вам нужносоздайте для него новый контекст веб-приложения или пользовательский файловый сервлет.

См. также

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