我正在使用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>
答案 0 :(得分:2)
来自showcase:
高级配置
有关映射,过滤和转发行为的配置设置,请参见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