Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/03/2017, 11:46
Avatar de Hyemin
Hyemin
 
Fecha de Ingreso: agosto-2014
Mensajes: 147
Antigüedad: 9 años, 8 meses
Puntos: 0
Error con phaselistener en tomcat7 y Java5

Tengo una aplicacion hecha con JAVA5 que corre sobre un tomcat7, estoy haciendo mejoras pero uso primafaces y jsf2.2

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
  1. <?xml version='1.0' encoding='UTF-8'?>
  2.     <faces-config version="2.2"
  3.                   xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  4.                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5.                   xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd">
  6.    
  7.        
  8.     <lifecycle>
  9.     <phase-listener>services.mylistener </phase-listener>
  10.     </lifecycle>
  11.     </faces-config>


El codigo del listener

Código Java:
Ver original
  1. @Override
  2.         public void afterPhase(PhaseEvent event) {
  3.                  //Primero obtengo el contexto
  4.             FacesContext facesContext = event.getFacesContext();
  5.            
  6.             NavigationHandler nh = facesContext.getApplication().getNavigationHandler();
  7.             nh.handleNavigation(facesContext, null, "http://google.com");
  8.         }
  9.    
  10.         @Override
  11.         public void beforePhase(PhaseEvent event) {
  12.          
  13.        
  14.             /
  15.             FacesContext facesContext = event.getFacesContext();
  16.            
  17.             NavigationHandler nh = facesContext.getApplication().getNavigationHandler();
  18.             nh.handleNavigation(facesContext, null, "http://google.com");
  19.            
  20.         }
  21.    
  22.         @Override
  23.         public PhaseId getPhaseId() {
  24.             return PhaseId.RENDER_RESPONSE;
  25.         }


Mi web.xml

Código Java:
Ver original
  1. <servlet>
  2.         <servlet-name>Faces Servlet</servlet-name>
  3.         <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  4.         <load-on-startup>1</load-on-startup>
  5.     </servlet>
  6.     <servlet-mapping>
  7.         <servlet-name>Faces Servlet</servlet-name>
  8.         <url-pattern>*.xhtml</url-pattern>
  9.     </servlet-mapping>