在JSF中重定向到外部URL

Nec*_*net 34 jsf redirect jsf-2 external-url

我一直在处理JSF的问题,当涉及到重定向到我的应用程序中的页面时,它工作正常,但我无法重定向到外部URL可以有人指导我吗?

Bal*_*usC 85

要么直接在<a>或提及URL <h:outputLink>.

<a href="http://stackoverflow.com">Go to this site!</a>
<!-- or -->
<h:outputLink value="http://stackoverflow.com">Go to this site!</h:outputLink>
Run Code Online (Sandbox Code Playgroud)

或者,如果您需要使用<h:commandLink>如下所示调用bean操作,

<h:form>
    <h:commandLink value="Go to this site!" action="#{bean.redirect}" />
</h:form>
Run Code Online (Sandbox Code Playgroud)

然后使用ExternalContext#redirect()动作方法.

public void redirect() throws IOException {
    // ...

    ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
    externalContext.redirect("http://stackoverflow.com");
}
Run Code Online (Sandbox Code Playgroud)

请注意,您不需要捕获它IOException,服务器将处理它.还要注意,包括方案(的重要性,http://或者https://还是//在URL),否则将被相对于当前域解释.