How to programmatically do JSF internal page forward?

Rajat Gupta picture Rajat Gupta · Apr 23, 2014 · Viewed 13.6k times · Source

How to do JSF internal page forward programatically in managed bean, on some condition (like whenever an exception occurs)? I do not want to change the URL while forwarding to other page.

Right now I redirect to another page programmatically using this, but this changes the URL.

FacesContext.getCurrentInstance().getExternalContext().redirect();

Answer

Mr.J4mes picture Mr.J4mes · Apr 23, 2014

Try this:

public void forward(){
    String uri = "destination.xhtml";
    FacesContext.getCurrentInstance().getExternalContext().dispatch(uri);
}