Если ваша единственная цель состоит в том, чтобы служить ему "путем Richfaces" (на самом деле это путь JSF 2.0), тогда используйте <h:outputScript>
.Поместите файл в /resources/js/ajax-error.js
общедоступного веб-контента (основной путь /resources
является обязательным и его имя нельзя изменить).Затем ссылайтесь на него следующим образом:
<h:outputScript name="js/ajax-error.js" />
Независимо от его расположения в шаблоне, он будет сгенерирован в HTML <head>
, как следует, предполагая, что ваш FacesServlet
сопоставлен с *.jsf
:
<script type="text/javascript" src="/contextname/javax.faces.resource/js/ajax-error.js.jsf"></script>
Но это не предлагает вам поддержку EL!Вы не сможете использовать #{}
в этом сценарии.Только в таблицах стилей, которые включены в <h:outputStylesheet>
, поддерживается #{}
для поиска фоновых изображений способом JSF 2.0 #{resource['logo.png']}
, но не более того.
В вашем конкретном случае я быскорее, ссылка #{facesContext.externalContext.requestContextPath}
(или его более короткая и популярная копия #{request.contextPath}
) в теге HTML <base>
или какой-либо глобальной переменной JS или атрибуте HTML data
.Если установлено значение <base>
, все относительные ссылки будут относиться к нему, также в JS.
См. Также: