С .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.

Ответы на вопрос(1)

Ваш ответ на вопрос