Crear composite Maven
Crear el proyecto Maven
Indicamos el nombre del proyecto
al darle finalizar se crea el proyecto jmoordbjsf
Revisamos las propiedades del proyecto
Editar el archivo pom.xml
Agregar dependencias
En la pestaña Files de NetBeans
Dar clic derecho New--> Folder...
indicar resources/META-INF
Creamos los archivos xml:
faces-config.xml
jmoordbjsf.tablib.xml
creamos la carpeta resources/jmoordbjsf
indicamos los nombres de carpeta
En este directorio agregamos:
Creando el primer componente
Creamos un componente selectOneMenu de bootfaces simplificando las opciones si/no.
Ubicarse en la carpeta jmoordbjsf
Clic derecho --> New -->Other
Categories: Java Server Faces
File Types: JSF Page
Nota: Si seleccionamos JSF Composite Component, no permitirá finalizar porque no es un proyecto web, por esta razon seleccionamos JSF Page.
File Name: yesno
se crea el archivo yesno.xhtml, sobre el que vamos a editar para agregar el composite.
Reemplazamos por el código
Nota: El componente tiene asociados etiquetas definidas en avbravoutils y esta orientado a ejbjmoordb.
Construir el proyecto
Clic derecho--> Clearn & Build
Se crea el archivo .jar y se registra en maven
Creamos un archivo css dentro de resources/jmoordbjsf
Ejemplo de css
Agregarlo al composite
usar el <h:outputStylesheet library="jmoordbjsf" name="jmoordbjsf.css"/>
Mediante el styleClass de cada componente usamos la propiedad deseada. <p:datatable styleClass="ui-datatable">
Las imagenes las agregamos dentro de resources/jmoordbjsf
Usar la imágenes en el componente componente
Si ejecutamos un proyecto, se vería la imagen
Probar el Componente
Agregarmos la dependencia jmordbjsf
Agregar el componente a una pagina.
En este ejemplo usaremos el plugin de PayaraMicro para generar el proyecto
https://github.com/avbravo/jmoordbjsftest
Crear el proyecto: jmoordbjsftest
Indicar el nombre del proyecto
PayaraMicro en este ejemplo la versión 5.183 o superior
En las propiedades del proyecto activamos la configuración, revisamos la versión del JDK, y seleccionamos primefaces como framework
Editamos el archivo pom.xml
Actualizar la version de primefaces
Agregar jmoordbjsf (mediante jitpack)
Agregar el repository jitpack
Actualizar las versiones de los plugins de maven a las ultimas
Crearemos un Controller para manejar los datos
Ubicarse en el paquete com.avbravo.jmoordbjsftest
Seleccionar -->New -->JSF Managed Bean
Lo denominamos MyController en el scope: Request
Se crea la clase MyController.java
Implemenamos Serializable
Agregamos una propiedad para almacenar la opción seleccionada
Creamos un método para mostrar el mensaje
Utilizar JsfUtil para enviar mensajes
Ahora editamos el archivo index.xhtml
Archivo inicial
Agregar el namespace jm: para usarlo con los componentes y el taglib.
<p:commandButton> para mostrar la opcion seleccionada por el usuario
Cogido completo
Ejecutar el proyecto
Al dar clic en el botón se despliega un mensaje con la selección.