Отделить имя страницы от имени файла в jsf web.xml
Я хотел бы, чтобы страница generic.xhtml обслуживалась в ответ на запросы о specific1.xhtml, specific2.xhtml и т. Д.
Есть ли способ настроить web.xml так, чтобы несколько запросов отображались в один файл без перенаправления? Имя specific.xhtml всегда должно отображаться пользователю.
Определенные имена не соответствуют определенному шаблону, например, начинаются со слова конкретного. У меня есть список конкретных имен, которые все реализованы на одной странице.
Это эквивалентно наличию generic.xhtml? Name = specific1 за исключением того, что параметр name является именем файла в запросе.
Если это не может быть обработано через web.xml или какой-либо другой файл конфигурации, каков другой подход?
Страницы обслуживаются Tomcat 7.
1 ответ
Я думаю, что вы должны использовать UrlRewriteFilter Tuckey. Вам должно быть довольно легко придумать правила для достижения того, чего вы хотите. Предположим, пользователи получают доступ к вашей странице по адресу www.yourserver.com/context/subContext/specificX.xhtml
Я думаю, что следующее правило должно достичь вашей цели (хотя вам нужно проверить:P):
<urlrewrite >
<rule>
<name>Specific to Generic forward</name>
<condition next="or" type="path-info">/subContext/specific1.xhtml</condition>
<condition next="or" type="path-info">/subContext/specific2.xhtml</condition>
<from>^(.*)$</from>
<to type="forward">/generic.xhtml</to>
</rule>
</urlrewrite>