java.lang.RuntimeException No se puede encontrar FacesContext

No sé cómo continuar, pero siempre obtengo la “java.lang.RuntimeException: No puedo encontrar FacesContext” para mi nueva aplicación web JSF 1.2. Estoy seguro de que es solo una configuración que no puedo encontrar.

La excepción ocurre con la primera etiqueta f: o h: Ya con la al principio.

Mi index.jsp

        MyWebsite       
MyContent

Mi web.xml ve así:

    Faces Servlet javax.faces.webapp.FacesServlet 1   javax.faces.DEFAULT_SUFFIX .jsp   Faces Servlet *.jsf   720   index.jsp   

Y luego también tengo un faces-config.xml que debe hacer referencia a myBean que quiero usar luego en el cuerpo de la página:

    com.sun.facelets.FaceletViewHandler   myClassName  com.company.className  session   

¿Que me estoy perdiendo aqui?

java.lang.RuntimeException: Cannot find FacesContext

Por lo tanto, las tags JSF y se quejan de que no se puede encontrar FacesContext . FacesServlet es el responsable de crear el contexto de rostros. El servlet de caras se invoca cuando la URL de solicitud coincide con su patrón de URL, que está en su caso particular *.jsf . Entonces, cuando abre index.jsp como http://localhost:8080/context/index.jsp , o depende de la configuración de , entonces no está invocando el servlet de caras y de hecho lo obtendría excepción.

index.jsp abrir index.jsp como http://localhost:8080/context/index.jsf , o para establecer la entrada del archivo de bienvenida en index.jsf para invocar correctamente el servlet de caras, de modo que pueda crear las caras contexto que es requerido por los componentes JSF declarados en la página JSP.

Sin embargo, tenga en cuenta que solo arreglar el archivo de bienvenida no es suficiente en este entorno JSF 1.x + Tomcat. También debe proporcionar un archivo index.jsf físicamente existente, pero completamente vacío junto al archivo index.jsp en el contenido web para engañar a Tomcat que index.jsf realmente existe como archivo de bienvenida. De lo contrario, mostraría un error 404 porque verifica la presencia física del archivo de bienvenida de antemano.

Ver también:

  • javax.faces.FacesException: java.lang.RuntimeException: no se puede encontrar FacesContext

Sin relación con el problema concreto, me pregunto por qué estás usando JSP si al parecer has instalado Facelets 1.x y registrado su controlador de vista. Facelets es muy superior a JSP.