Jsf 为什么导航规则不起作用?

Jsf 为什么导航规则不起作用?,jsf,primefaces,navigation,Jsf,Primefaces,Navigation,我想用jsf将一个页面重定向到另一个页面 我将此代码放入我的bean.java: public String retour() { return "home"; } 此代码位于my list.xhtml页面中 <p:commandButton value="Submit" action="#{bean.retour}" styleClass="ui-priority-primary" process="@this" /> 这段代码位于fa

我想用jsf将一个页面重定向到另一个页面

我将此代码放入我的
bean.java

public String retour()
{ 
    return "home";
}
此代码位于my list.xhtml页面中

 <p:commandButton value="Submit"  
   action="#{bean.retour}" 
   styleClass="ui-priority-primary" 
   process="@this" />

这段代码位于faces-config.xml中

  <navigation-rule>
   <display-name>pages/list.xhtml</display-name>
   <from-view-id>/pages/list.xhtml</from-view-id>
   <navigation-case>
      <from-outcome>home</from-outcome>
      <to-view-id>/pages/index.xhtml</to-view-id>
   </navigation-case>
</navigation-rule>

pages/list.xhtml
/pages/list.xhtml
家
/pages/index.xhtml
我将此代码放在web.xml页面中

<!-- Map these files with JSF -->
<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>*.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>*.xhtml</url-pattern>
</servlet-mapping>

Facesservlet
/面孔/*
Facesservlet
*.jsf
Facesservlet
*.面孔
Facesservlet
*.xhtml
但当我按下提交按钮时,它会给我一个空白页

我尝试了这个代码,它的重定向正确


我能知道为什么导航规则不起作用吗

您可以尝试在按钮上使用ajax=false吗?您可以尝试action=“#{bean.retour()}”当您使用Primefaces时,只需去掉“faces config.xml”配置文件,并将页面名称直接放在string return语句中,如下所示:
return”index.xhtml?faces redirect=true";@JaqenH'ghar H'ghar谢谢你,Jaqen这是ajax=false的世界”