JSF page redirecting from java bean

gaffcz picture gaffcz · May 10, 2011 · Viewed 91.3k times · Source

Is there some way how to redirect page to other page from Java method?

I'm able only to forward it using:

FacesContext.getCurrentInstance().getExternalContext().dispatch("/foo.xhtml");

or using navigation-rules of faces-config.xml.

Do you have any ideas?

Answer

BalusC picture BalusC · May 10, 2011

Not sure what you're after, but the ExternalContext#dispatch() does only a forward, not a redirect. You'd like to use ExternalContext#redirect() instead.

externalContext.redirect("foo.xhtml");

or even external (which is not possible with dispatch)

externalContext.redirect("http://stackoverflow.com");

You'd normally like to do this in bean's action method.


Since you mentioned JavaScript in the comments, here's how you could redirect using JS:

window.location = "foo.xhtml";
// Or
window.location = "http://stackoverflow.com";