从JSF RichFaces上的root(index.html)重定向

时间:2012-07-05 22:05:39

标签: jsf redirect navigation richfaces

访问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)

3 个答案:

答案 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>