Прежде всего, абсолютный путь должен работать. Это не вопрос 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>
Если вы используете каталог ресурсов, вы можете делать гораздо больше вещей, читать некоторые детали здесь