¿Cómo crear una etiqueta Facelets personalizada?

Estoy usando JSF 2.0. Creé tags JSTL personalizadas con tagfiles y funcionaban bien en JSP. Pero también quiero usar tags JSTL personalizadas en Facelets. ¿Es posible crear tagfiles en Facelets o no?

“Etiquetas JSTL personalizadas” sinceramente no tiene sentido. Este término es completamente sin sentido. JSTL ya es un taglib en sí mismo. Lea detenidamente los párrafos introductorios de nuestra página wiki de JSTL para saber qué es realmente JSTL. Quizás realmente quiso decir ” tags JSP personalizadas “. Por supuesto, no funcionarían en Facelets, ya que es una tecnología de visualización completamente diferente a JSP y, en realidad, el sucesor del JSP en desuso.

Bueno, la analogía de una “etiqueta JSP personalizada” es una “etiqueta Facelets personalizada”, o más comúnmente “archivo de etiqueta Facelets”. Es bastante simple, puede seguir la misma syntax que un archivo de inclusión.

/WEB-INF/tags/some.xhtml :

  Hello World ...    

y registrarlo en /WEB-INF/example.taglib.xml siguiente manera:

   http://example.com/jsf/facelets  some tags/some.xhtml   

que a su vez se registra en /WEB-INF/web.xml siguiente manera:

  javax.faces.FACELETS_LIBRARIES /WEB-INF/example.taglib.xml  

(tenga en cuenta que el registro en web.xml es necesario cuando el archivo *.taglib.xml está en la carpeta /META-INF de un JAR en /WEB-INF/lib )

y finalmente utilícelo en sus plantillas de la siguiente manera:

  ...  

Ver también:

  • Cuándo usar , archivos de tags, componentes compuestos y / o componentes personalizados?
  • Estructura para múltiples proyectos JSF con código compartido