【发布时间】:2019-04-16 15:48:33
【问题描述】:
我在我的项目中使用 JSF,我想将 .xhtml 文件分隔到子文件夹中。
我当前的目录结构如下:
webapp/
resources/
WEB-INF/ (beans.xml, web.xml)
faces/ (test.xhtml)
login.xhtml
register.xhtml
...
但是当我尝试访问 [PROJECT]/faces/test.xhtml 时,它永远无法正常工作。我收到 404 Not Found 错误,描述如下:“/test.xhtml Not Found in ExternalContext as a Resource。”
stackOverflow 问题:Organizing .xhtml files in subfolders 有完全相同的问题,但仍未收到有关此问题的任何有用答案。
作为替代方案,我当然也可以使用容器管理的身份验证,但我拒绝这样做,因为应该可以将不同的子文件夹中的视图分开,对吧?
web.xml:
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>Project</display-name>
<welcome-file-list>
<welcome-file>timeline.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>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
</web-app>
【问题讨论】: