No se puede encontrar el descriptor de la biblioteca de tags para http://java.sun.com/jsf/facelets

Tengo un JSP con

 

Sin embargo, errores con

El uri absoluto: http://java.sun.com/jsf/facelets no se puede resolver ni en web.xml ni en los archivos jar implementados con esta aplicación

Tengo las bibliotecas facelets-lib.jar y facelets-lib.jar jsf-facelets-1.1.10.jar , que supongo que son Facelets, pero no contienen descripciones JSP taglib.

¿Qué archivo es correcto?

Facelets está destinado a reemplazar JSP por completo. Pero aún estás intentando declararlo como un taglib JSP. Esto nunca va a funcionar. Ambas son tecnologías de visualización distintas. Facelets es una tecnología de visualización basada en XML que está diseñada para ser un sucesor de JSP. En Java EE 6, que fue lanzado en diciembre de 2009, ya ha reemplazado a JSP como tecnología de vista estándar para JSF y JSP ha sido desaprobado desde entonces.

Necesita cambiar el nombre de la extensión de archivo de .xhtml a .xhtml y reemplazar todas las declaraciones de taglib JSP por declaraciones de espacio de nombres XML y eliminar todas las tags y todos los scriptlets < % %> %% < % %> .

Entonces, por ejemplo, la siguiente plantilla JSP básica page.jsp

 < %@page contentType="text/html" pageEncoding="UTF-8"%> < %@taglib prefix="f" uri="http://java.sun.com/jsf/core"%> < %@taglib prefix="h" uri="http://java.sun.com/jsf/html"%> < !DOCTYPE html>    JSP page       

tiene que ser reescrito como page.xhtml

 < !DOCTYPE html>   Facelet page      

Finalmente, los archivos JAR mencionados son Facelets 1.x JAR, mientras que Facelets 2.x ya se ha eliminado desde 2009 como parte de una implementación de JSF 2.x. Si puedes, te recomiendo que saltes Facelets 1.x y continúes con Facelets 2.x.

Ver también:

  • Facelets Developer Documentation (para Facelets 1.x)
  • Tutorial de Java EE 6 – Facelets (para Facelets 2.x)
  • JSF 2.0 tutorial con Eclipse y Glassfish (para comenzar desde cero)
  • Migrando de JSF 1.2 a JSF 2.0

Si está utilizando JSF 2, necesitará jsf-api.jar y jsf-impl.jar .
Si está utilizando JSF 1, mire aquí