Отделить имя страницы от имени файла в 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>
Другие вопросы по тегам