Добавление внешнего JavaScript в JSF - PullRequest
4 голосов
/ 02 февраля 2011

Я хочу вставить внешний файл javascript на мою страницу JSF. Итак, что я сделал:

Теперь файл JSF называется start.xhtml, и оба находятся в одной папке. Тем не менее, когда я бежал, ничего не происходило [JavaScript должен всплывать, когда я нажимаю]. Я проверил источник страницы, и, очевидно, в.

Что я сделал не так, чтобы получить РЕС НЕ НАЙДЕН? Я даже поставил абсолютный путь, но ничего не произошло :(. Мне грустная панда.

Кстати, я использую последние Netbeans.

Спасибо, Песня.

Ответы [ 2 ]

5 голосов
/ 02 февраля 2011

Попробуйте включить ваш скрипт таким образом

<script src="#{facesContext.externalContext.requestContextPath}/yourPathAfterWebpages/scriptFile.js" type="text/javascript"></script>
4 голосов
/ 02 февраля 2011

Прежде всего, абсолютный путь должен работать. Это не вопрос Netbeans, Glassfih или JSF - это дело браузера. И если бы в вашем браузере была ошибка, препятствующая загрузке Javascript с действительных URL-адресов, вы бы заметили. Поэтому, если ваш Javascript не загружается, есть вероятность 99%, что это простая опечатка, глупая ошибка (забывание имени каталога, добавление дополнительной косой черты или подобные вещи) и ничего общего с любой из упомянутых технологий.

Другая теория (просто теория - у меня недостаточно данных, чтобы доказать это) состоит в том, что у вас есть стандартное отображение, показывающее все файлы лиц в «виртуальной» директории лиц ( /face / *). Таким образом, когда вы помещаете свой index.xhtml в основной каталог проекта Foo, вы видите его в: localhost: 8080 / Foo / Face / index.xhtml . «Лицевая» часть пути не представляет никакой реальной директории, это просто отображение. Таким образом, если у вас есть файл js, расположенный рядом с index.xhtml, вы бы назвали его следующим образом: '.. / yourjavascript.js' ; .. / предназначен для компенсации части виртуального каталога.

В любом случае, я настоятельно рекомендую вам отказаться от дилем, загружающих скрипты, и использовать официальный и удобный способ загрузки ресурсов, таких как javascript, - поместить их в каталог с именем "resources" (сделать его под узлом "web pages" Netbeans, он окажется в верхнем каталоге вашего .war); чтобы получить путь к любому файлу, сохраненному в ресурсах, вы используете EL, например: # {resource ['filename.css']}. Вы загрузите ваш скрипт по:

   <script src='#{resource['script.js']}' ></script>

Если вы используете каталог ресурсов, вы можете делать гораздо больше вещей, читать некоторые детали здесь

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