Java 如何在WebContent的子文件夹下公开JSF(.xhtml)
我目前无法从浏览器URL公开我的JSF文件。我的项目结构是这样的:Java 如何在WebContent的子文件夹下公开JSF(.xhtml),java,jsf-2,richfaces,jboss7.x,faces-config,Java,Jsf 2,Richfaces,Jboss7.x,Faces Config,我目前无法从浏览器URL公开我的JSF文件。我的项目结构是这样的: <PROJECT_NAME> --->WebContent --->index.xhtml --->subfolder1 --->subjsf.xhtml --->subfolder2 --->subjsf.xhtml --->subfolder3 --->subjsf.xhtml 当您直
<PROJECT_NAME>
--->WebContent
--->index.xhtml
--->subfolder1
--->subjsf.xhtml
--->subfolder2
--->subjsf.xhtml
--->subfolder3
--->subjsf.xhtml
当您直接访问URL时,如下所示::/PROJECT\u NAME/subfolder1/subjectsf.xhtml,它也给出了上述相同的错误。
我想为URL启用重定向以刷新和显示当前页面名称。还有,有没有一种方法可以对子文件夹使用隐式导航
非常感谢你们的帮助!提前感谢您……只要内容不在WEB-INF下,客户端就可以直接访问所有内容 以下是一些疑难解答提示:
- 你的战争部署成功了吗
- 您是否使用正确的URL访问
- URL中的上下文是否与部署匹配
- 您是否将
内容正确绑定到WEB-INF之外xhtml
最后,您可以转到部署目录,将WAR复制到一个单独的文件夹中,将其放气并检查其内容是否如您所期望的那样。Hi Chris!谢谢你的意见。。。突然我发现了错误。我对FacesServlet和实际的子文件夹使用相同的url模式,这会触发我得到的错误。现在很好用。顺便说一句,感谢您指出,客户端可以访问WEB-INF之外的任何内容
<?xml version="1.0"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name>PROJECT_NAME</display-name>
<context-param>
<param-name>org.richfaces.skin</param-name>
<param-value>blueSky</param-value>
</context-param>
<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>*.xhtml</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/pages/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.xhtml</welcome-file>
</welcome-file-list>
</web-app>
<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="2.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">
<navigation-rule>
<from-view-id>/index.xhtml</from-view-id>
<navigation-case>
<from-outcome>subfolder1</from-outcome>
<to-view-id>/subfolder1/subjsf.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
<application>
<resource-bundle>
<base-name>resources</base-name>
<var>msgs</var>
</resource-bundle>
</application>
</faces-config>
com.sun.faces.context.FacesFileNotFoundException: /subjsf.xhtml Not Found in ExternalContext as a Resource