Redirect to external URL in JSF

人走茶凉 提交于 2019-11-26 15:24:44

Either just mention the URL directly in <a> or <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>

Or, if you need to to invoke a bean action using <h:commandLink> like below,

<h:form>
    <h:commandLink value="Go to this site!" action="#{bean.redirect}" />
</h:form>

then use ExternalContext#redirect() in action method.

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

    ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
    externalContext.redirect("http://stackoverflow.com");
}

Note that you don't need to catch that IOException, the server will deal with it. Also note the importance of including the scheme (http:// or https:// or //) in the URL, otherwise it will be interpreted relative to the current domain.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!