Todo funciona menos el phaselistener, hice una prueba "tonta" de poner que el phaselistener antes de hacerme el render me rediriga a otra pagina para ver si anda y no funciona.
Estoy bastante perdido, en una aplicacion que tengo (hecha 100% por mi) usando java8 y jboss hago lo mismo pero funciona a la perfeccion.
Mi faces-config
Código Java:
Ver original
<?xml version='1.0' encoding='UTF-8'?> <faces-config version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"> <lifecycle> <phase-listener>services.mylistener </phase-listener> </lifecycle> </faces-config>
El codigo del listener
Código Java:
Ver original
@Override public void afterPhase(PhaseEvent event) { //Primero obtengo el contexto FacesContext facesContext = event.getFacesContext(); NavigationHandler nh = facesContext.getApplication().getNavigationHandler(); nh.handleNavigation(facesContext, null, "http://google.com"); } @Override public void beforePhase(PhaseEvent event) { / FacesContext facesContext = event.getFacesContext(); NavigationHandler nh = facesContext.getApplication().getNavigationHandler(); nh.handleNavigation(facesContext, null, "http://google.com"); } @Override public PhaseId getPhaseId() { return PhaseId.RENDER_RESPONSE; }
Mi web.xml
Código Java:
Ver original
<servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.xhtml</url-pattern> </servlet-mapping>