将页面名称与jsf web.xml中的文件名解耦

时间:2013-03-26 17:12:01

标签: java jsf-2 tomcat7 web.xml facesservlet

我希望提供页面generic.xhtml以响应对specific1.xhtml,specific2.xhtml等的请求...

有没有办法设置web.xml,以便多个请求映射到单个文件而不进行重定向?应始终向用户显示specific.xhtml名称。

特定名称与特定模式不匹配,例如以特定字词开头。我有一个具有一个页面的特定名称列表。

这相当于使用generic.xhtml?name = specific1,但name参数是请求中的文件名。

如果无法通过web.xml或其他配置文件处理,那么另一种方法是什么?

页面由Tomcat 7提供。

1 个答案:

答案 0 :(得分:1)

我认为你应该使用Tuckey's UrlRewriteFilter。你应该很容易想出实现你想要的规则。假设用户在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>