Включение файла JS в страницу JSF ADF - PullRequest
0 голосов
/ 24 февраля 2012

Я хочу включить файл js в мою страницу jsf. я попробовал обычный способ сделать это, но это не сработало.

<script language="Javascript" type="text/javascript" src="js/alertMessages.js"></script>

Я также попробовал компоненты adf, как показано ниже: но в моей adf lib нет компонента af: resource.

<af:document>
  <f:facet name="metaContainer">
    <af:resource source="/mySourceDirectory"/>
  </facet>
  <af:form></af:form>
</af:document>

Пожалуйста, дайте мне знать, как мне включить файл js на мою страницу.

Спасибо ...

Ответы [ 2 ]

1 голос
/ 25 февраля 2012

Вы должны использовать тег af: resource для включения javascript в страницы ADF Faces.http://docs.oracle.com/cd/E21043_01/apirefs.1111/e12419/tagdoc/af_resource.html

1 голос
/ 24 февраля 2012

Относительные URL ресурсов (URL-адреса элементов <script>, <link>, <img> и <a>, которые не начинаются со схемы http:// или косой черты /), относятся к текущему URL-адресу запроса (каквы видите в адресной строке браузера).

Так, например, если вы открываете страницу, например,

http://localhost:8080/contextname/somefolder/page.jsf

, тогда файл сценариятак как у вас там будет фактически скачано с

http://localhost:8080/contextname/somefolder/js/alertMessages.js

вместо

http://localhost:8080/contextname/js/alertMessages.js

Вместо этого вы хотите указать URL относительно корня домена.Так что должно стать /contextname/js/alertMessages.js.Вы можете использовать ${pageContext.request.contextPath} для динамического добавления контекстного пути:

<script type="text/javascript" src="${pageContext.request.contextPath}/js/alertMessages.js"></script>

Обратите внимание, что атрибут language является излишним.Также обратите внимание, что для JSF 2.x доступны теги, которые делают это неявно, например <h:outputScript>.

См. Также:

...