Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Redirect to external URL in JSF

I've been dealing with a problem with JSF, when it comes to redirect to pages inside my app it works just fine, but I haven't been able to redirect to external URL can some one guide me on this?

like image 405
Necronet Avatar asked Feb 23 '11 14:02

Necronet


1 Answers

Either just mention the URL directly in <a> or <h:outputLink>.

<a href="https://stackoverflow.com">Go to this site!</a> <!-- or --> <h:outputLink value="https://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("https://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 (https:// or http:// or //) in the URL, otherwise it will be interpreted relative to the current domain.

like image 169
BalusC Avatar answered Sep 17 '22 20:09

BalusC