С .xhtml это работает, с небольшим неудобством необходимости добавлять .xhtml к ссылкам url () в таблицах стилей. Проверено с помощью 10-строчного сгенерированного веб-проекта NetBeans с <h: outputStylesheet name = "styles.css" />. Используя инструменты разработчика Chrome (& NB http monitor), я ясно вижу GET для styles.css.xhtml. Я просто обеспокоен тем, что это скрывает более серьезную неправильную конфигурацию, если вы удивлены этим, я, должно быть, делаю что-то не так. Интересно, это может быть проблема конфигурации Glassfish ... Я должен проверить domain.xml.
ользовал префиксное сопоставление в течение многих лет и решил переключиться на суффиксное сопоставление, просто чтобы избавиться от/faces
в URL действительно. Я просто хотел проверить, иду ли я в правильном направлении, прежде чем вырыть себе яму, поскольку происходит несколько неожиданных вещей. Я изменился с этого:
<servlet-mapping>
<servlet-name>FacesServlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
к этому:
<servlet-mapping>
<servlet-name>FacesServlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
И тогда я вижу, что все проходит черезFacesServlet
имеет.xhtml
добавлен к нему, так что браузер запрашиваетbackground.png.xhtml
файлы,style.css.xhtml
файл - это правильно? Полагаю, это называется суффиксным отображением, но для меня это выглядит немного неопрятно, и я пытаюсь убедить себя, что это путь.
В моих файлах CSS, на которые ссылается URI, я также должен добавить.xhtml
:
background-image: url(images/background.png.xhtml);
Затем я увидел сообщение от BalusC, в котором содержится решение для предотвращения загрузки ресурсов без использования FacesServlet:
<security-constraint>
<display-name>Restrict raw XHTML docs</display-name>
<web-resource-collection>
<web-resource-name>XHTML</web-resource-name>
<url-pattern>*.xhtml</url-pattern>
</web-resource-collection>
<auth-constraint/>
</security-constraint>
Когда я добавляю это, то только реально.xhtml
файлы загружаются на страницу, все остальные ресурсы (несмотря на наличие.xhtml
добавлено) не отображаются.
Все, что я хочу знать, это:
Это добавление.xhtml
чтобы все нормально (извините, если годы глупейший вопрос)
Почему ограничение безопасности restrict raw xhtml docs препятствует загрузке таких ресурсов, как CSS, JavaScript и изображения?
Спасибо за любые отзывы. Я использую Mojarra 2.1.2 на Glassfish 3.1.