showcase - templates jsf primefaces
Redireccionamiento de página JSF desde Java Bean (3)
¿Hay alguna forma de redirigir la página a otra página desde el método de Java?
Solo puedo reenviarlo usando:
FacesContext.getCurrentInstance().getExternalContext().dispatch("/foo.xhtml");
o usando las reglas de navegación de faces-config.xml
.
¿Tienes alguna idea?
No estoy seguro de lo que está buscando, pero ExternalContext#dispatch()
solo hace un reenvío, no un redireccionamiento. En su lugar, le gustaría usar ExternalContext#redirect()
.
externalContext.redirect("foo.xhtml");
o incluso externo (que no es posible con el despacho)
externalContext.redirect("http://.com");
Normalmente le gustaría hacer esto en el método de acción de Bean.
Como mencionó JavaScript en los comentarios, aquí se explica cómo puede redirigir utilizando JS:
window.location = "foo.xhtml";
// Or
window.location = "http://.com";
por favor intente con la llamada a la siguiente función estática:
String url = "/meta/default/inbox"; // Your URL here
FacesContext.getCurrentInstance().getExternalContext().redirect(url);
FacesContext.getCurrentInstance().getApplication().getNavigationHandler().handleNavigation(FacesContext.getCurrentInstance(), null, "page.xhtml");
Funciona igual de bien.