使用OmniFaces ExtensionlessURLs时是否可以防止将/重定向到/ welcome-file

时间:2019-01-18 13:33:44

标签: jsf omnifaces

我正在使用JSF 2.2和OmniFaces ExtensionlessURLs从URL中删除文件扩展名: www.exmaple.com/appname/login.xhtml -> .../appname/login。 现在,当我导航到www.example.com/appname/时,我总是会转发到www.exmaple.com/appname/login。是否可以阻止这种重定向,而改为从login.xhtml提供www.example.com/appname/

我的.xhtml文件存储在/WebContent/html/中。

我的web.xml中的相关详细信息:

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

<servlet>
   <servlet-name>Faces Servlet</servlet-name>
   <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
   <load-on-startup>-1</load-on-startup>
   <enabled>true</enabled>
   <async-supported>false</async-supported>
</servlet>
<servlet-mapping>
   <servlet-name>Faces Servlet</servlet-name>
   <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>

<context-param>
   <param-name>org.omnifaces.FACES_VIEWS_SCAN_PATHS</param-name>
   <param-value>/html/*.xhtml</param-value>
</context-param>

1 个答案:

答案 0 :(得分:2)

来自showcase

  

高级配置

     

有关映射,过滤和转发行为的配置设置,请参见package documentation

来自package documentation

  

欢迎文件

     

如果在<welcome-file>中定义了web.xml,并由FacesViews扫描并且,则使用REDIRECT_TO_EXTENSIONLESS(这是默认设置,请参见下文),定义无扩展名欢迎文件,以防止将对/的请求重定向到/[welcome file]。例如。没有此http://example.com的用户将重定向到说http://example.com/index

     

例如:

<welcome-file-list>
    <welcome-file>index</welcome-file>
</welcome-file-list>

换句话说,编辑欢迎文件以说login,而不是login.xhtml


无关:与具体问题无关:请注意,尽管您似乎对“欢迎文件”的确切含义有普遍的误解,因为您可能有一个{{ 1}}文件放在每个文件夹中。另请参见Set default home page via <welcome-file> in JSF project