如何在JSF2.0中重定向

如何在JSF2.0中重定向,jsf,redirect,commandlink,Jsf,Redirect,Commandlink,我想从JSF页面中的链接重定向,我该怎么做 在HTML中,我可以为此使用标记。但是在JSF中,我使用或,因为它们可以有条件地呈现。我想重定向链接到同一应用程序中的其他页面或外部URL。我如何使用JSF实现它?如何使用中的操作执行此操作?假设您希望重定向到位于web根文件夹中的部分.xhtml: 您可以继续使用纯HTML <a href="#{request.contextPath}/some.xhtml">go to some page</a> 注

我想从JSF页面中的链接重定向,我该怎么做


在HTML中,我可以为此使用
标记。但是在JSF中,我使用
,因为它们可以有条件地呈现。我想重定向链接到同一应用程序中的其他页面或外部URL。我如何使用JSF实现它?如何使用
中的
操作
执行此操作?

假设您希望重定向到位于web根文件夹中的
部分.xhtml

  • 您可以继续使用纯HTML

     <a href="#{request.contextPath}/some.xhtml">go to some page</a>
    
    注意:不需要预先添加上下文路径,也不需要包含
    FacesServlet
    映射


  • 或者使用
    ,但需要指定上下文路径

     <h:outputLink value="#{request.contextPath}/some.xhtml" value="go to some page" />
    
    
    

  • 重定向到外部URL已在此副本中应答:

    另见:

    您好,谢谢,但我对包含页面有问题,我将菜单页面包含到主页中,当我单击注册链接时,它不会重定向到注册页面,您能帮助我吗?非常感谢。最好注意
    h:link
    结果必须指向不带扩展名的页面文件名,并且必须与主页位于同一文件夹中。我使用h:commandLink,但如果菜单页面位于一个文件夹中,而注册页面位于另一个文件夹中,并且我将菜单页面包含在主页中(它位于所有文件夹之外),则可以重定向吗?在我的支持bean中,如果返回字符串结果,我必须返回,比如
    return./register“
    ?谢谢你的回复<代码>UICommand
    组件应以
    h:form
    的形式出现。结果必须与页面文件名匹配。如果是URL,则需要在faces-config.xml中定义导航案例。另一方面,您也可以使用
    h:outputLink
    。其行为与
    完全相同。
     <h:commandLink action="/some?faces-redirect=true" value="go to some page" />
    
     <h:outputLink value="#{request.contextPath}/some.xhtml" value="go to some page" />