我想从JSF页面中的链接重定向,我该怎么办?
在HTML中,我可以使用<a>
标记。但在JSF中,我使用<h:outputLink>
或<h:commandLink>
,因为它们可以有条件地呈现。我希望将链接重定向到同一应用程序中的其他页面或外部URL。我怎么能用JSF做到这一点?如何在action
中使用<h:commandLink>
?
答案 0 :(得分:11)
假设您要重定向到位于网络根文件夹中的some.xhtml
:
您可以继续使用纯HTML。
<a href="#{request.contextPath}/some.xhtml">go to some page</a>
对于条件渲染,just wrap it in an <ui:fragment>
。
或者使用隐式导航<h:link>
。
<h:link outcome="/some" value="go to some page" />
注意:无需预先添加上下文路径,也不需要包含FacesServlet
映射。
或将<h:commandLink>
与?faces-redirect=true
一起使用。
<h:commandLink action="/some?faces-redirect=true" value="go to some page" />
注意:无需预先添加上下文路径,也不需要包含FacesServlet
映射。
或使用<h:outputLink>
,但您需要指定上下文路径。
<h:outputLink value="#{request.contextPath}/some.xhtml" value="go to some page" />
重定向到外部网址已在此副本中得到解答:Redirect to external URL in JSF。