Componente Custom Facelet en JSF

¿Es posible crear un componente personalizado de Facelet JSF? Algo como de , o para Sería útil si alguien me puede decir los pasos involucrados.

Gracias por adelantado,

Kaushal

En esencia, son manejadores de tags. Es decir, las clases se extienden desde TagHandler .

Aquí hay un manipulador de tags Hello World.

com.example.HelloTagHandler

 public class HelloTagHandler extends TagHandler { public HelloTagHandler(TagConfig config) { super(config); } @Override public void apply(FaceletContext context, UIComponent parent) throws IOException { // Do your job here. This example dynamically adds another component to the parent. if (ComponentHandler.isNew(parent)) { UIOutput child = new HtmlOutputText(); child.setValue("Hello World"); parent.getChildren().add(child); } nextHandler.apply(context, parent); // Delegate job further to first next tag in tree hierarchy. } } 

/WEB-INF/my.taglib.xml

   http://example.com/my  hello com.example.HelloTagHandler   

/WEB-INF/web.xml (nota: esta parte no es obligatoria cuando my.taglib.xml está en la carpeta /META-INF de un archivo JAR dentro de /WEB-INF/lib similar a las bibliotecas de componentes JSF):

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

Uso en /some.xhtml

  ...  

Para ver el código fuente de la implementación de Mojarra de y , haga clic en los enlaces.

Ver también:

  • Cuándo usar , archivos de tags, componentes compuestos y / o componentes personalizados?