Как установить JSF2 с фактами сопоставления сервлета?

StackOverflow https://stackoverflow.com/questions/4616493

  •  26-09-2019
  •  | 
  •  

Вопрос

У меня есть простое приложение JSF2, используя Facelets. My Web.xml устанавливается следующим образом: -

<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping> 

Я хочу установить приложение по умолчанию на страницу приветствия, которая является /pages/login.xhtml. Я не могу получить настройку приветствия, чтобы забрать это при переходе в контекстный корень в браузере.

My Web.xml Приветствую настройку выглядит следующим образом: -

<welcome-file-list>
<welcome-file>/pages/login.jsf</welcome-file>
</welcome-file-list>

Как я могу заставить долгосрочную страницу перейти к странице входа в систему и убедиться, что она проходит через сервлет Faces?

Если я использую следующую страницу отображения страницы, но он не прошел через сервлет Faces, и поэтому сталкиваются компоненты, которые не отображаются: -

<welcome-file-list>
<welcome-file>pages/login.xhtml</welcome-file>
</welcome-file-list>

Любая помощь оценила!

Это было полезно?

Решение

Вы должны создать пустой файл login.jsf, прилегающий к вашему файлу login.xhtml. По какой-то причине этот взлом необходим для заправки контейнера сервлета, думая, что ваш приветственный файл существует.

ПРИМЕЧАНИЕ. Подал ответ, по-прежнему будет ответом JSF, используя файл login.xhtml, а не пустой файл login.jsf, который вы создаете.

Другие советы

Дополнительная информация для оригинального решения.

Это только необходимость обратной совместимости для контейнеров сервлета до версии 3. После работы под GlassFish 3.1 или Tomcat 7, например, его больше не требуется иметь пустой файл. Я управлял тестами, чтобы проверить, используя Tomcat 6 и Tomcat 7. В прошлом я провел тесты с Glassfish и предполагал, что проблема TOMCAT 6 была в Play, поскольку мы запускаем наше программное обеспечение в Tomcat 6 в текущем времени, и это не 3,0 сервлета. Я использовал страницу JSP с Redirect, но после того, как полностью переехал на Facelets, которые я не любил, имея один слева на странице JSP. Это отличное решение для ближайшего термина до тех пор, пока мы не работаем в контейнере 3,0 сервлета. Реальная причина, по которой он работает, состоит в том, что все делаются с записью Web.xml, проверка на существование файла. Настоящая работа обрабатывается в JSF, поскольку она ловит запрос на страницу лица, поэтому она никогда не попадает в эту пустую страницу для чего-либо.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top