Spring3 - WebFlow - JSF Не удается заставить правильно работать сопоставление «/»

Извините, если это вопрос новичка, но я пытаюсь научить себя Spring MVC/WebFlow с JSF/Primefaces, и я столкнулся с проблемой при настройке...

Если в web.xml я устанавливаю диспетчер MVC для перехвата всех «/», затем регистрирую @RequestMapping(value = "/{catchall}", method = RequestMethod.GET) в моем контроллере. Страница обслуживается, но все файлы ресурсов имеют имя {catchall}, добавленное к началу имени, например.

Если я использую //127.0.0.1:8080/testpage

<link type="text/css" rel="stylesheet" href="/testpage/javax.faces.resource/jquery/ui/jquery-ui.css?ln=primefaces&amp;v=2.2" />

Это приводит к тому, что каждый ресурс НЕ НАЙДЕН и возвращает ошибку 404?

Если вместо «всеобъемлющего» я ​​устанавливаю для диспетчера MVC значение «/a/*», выполняется тот же тест, например.

//127.0.0.1:8080/a/testpage, он отлично работает с ресурсами, отображаемыми как:

<link type="text/css" rel="stylesheet" href="/a/javax.faces.resource/jquery/ui/jquery-ui.css?ln=primefaces&amp;v=2.2" /> 

Я пытаюсь настроить систему, в которой страница обслуживается динамически из хранилища данных, и хочу, чтобы страница была - www.whatever.com/{pagename} - без какой-либо префиксной структуры или постфиксного идентификатора (например, .jsp, .jsf, .xhtml и т. д.)

Я могу опубликовать конфиги, если это необходимо, но уверен, что я просто пропустил что-то глупое!!!!

Пожалуйста помоги.


person davewilliamson    schedule 25.02.2011    source источник


Ответы (1)


В прошлый раз, когда я пытался, я обнаружил, что библиотека Sun Mojarra предполагает, что ваше отображение сервлета является либо отображением префикса, либо отображением сервлета по расширению (но не отображением сервлета по умолчанию "/"). Лучше всего использовать URL-адреса без префикса сервлета — использовать методы перезаписи URL-адресов, такие как Tuckey UrlRewriteFilter или в JSF PrettyFaces, которые довольно популярны.

person Rossen    schedule 28.02.2011
comment
Спасибо. Значит, это библиотека Mojarra пишет URL-адреса для библиотек? Я предполагал, что это делает Весна! Я также предположил, что это Spring неправильно обрабатывает запрос, то есть не находит ресурс в /testpage, но находит его в /a. Это также Mojarra? - person davewilliamson; 01.03.2011