访问admin.xhtml
时,尝试重定向到http://localhost:8080/CSPPortal/index.html
页面。根index.html
包含
<html><head><meta http-equiv="Refresh" content="0; URL=pages/admin.jsf"/></head></html>
问题是网址继续到login.jsf
之前在index.html
中声明的内容。
尝试:将空index.jsf
页面添加到根文件夹。在FacesServelet
old answer on SO上尝试了映射*.xhtml
。试图从<welcome-file-list>
移除web.xml
。 所有试用失败!!!! 任何有关出错的建议都会非常感激。
以下是web.xml
内容:
<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>*.jsf</url-pattern>
</servlet-mapping>
<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>/faces/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
faces-config.xml
中的导航规则如下,因为我还没有任何admin.xhtml链接:
<navigation-rule>
<from-view-id>/pages/login.xhtml</from-view-id>
<navigation-case>
<from-outcome>result</from-outcome>
<to-view-id>/pages/result.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
使用JBoss AS 7.1,RichFaces 4.0,JSF 2.0(通过JBoss Tools)
答案 0 :(得分:2)
由于浏览器调用了URL,因此您需要像下面这样解析网址:
<meta http-equiv="Refresh" content="0; URL=#{request.contextPath}/pages/admin.jsf"/>
另见:
答案 1 :(得分:0)
从JSF RichFaces上的root(index.html)重定向
1.输入xhtml文件。
<html>
<head>
<meta http-equiv="Refresh" content="0; URL=index.jsf">
</head>
</html>
2.Web.xml文件
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
答案 2 :(得分:0)
externalContext方法对我来说很好。
<h:body>
#{facesContext.externalContext.response.sendRedirect('pages/admin.jsf')}
</h:body>