Nuestro proyecto cada vez va tomando más forma, solo faltaría agregar clases al paquete Bean y modificar nuestra vista.
Por ahora esto es lo que tenemos en nuestro proyecto:
Primero añadiremos un bean a nuestro paquete, se llamará personaBean
y manejará la vista en la cual gestionaremos nuestra tabla Persona.
Para poder crear este bean, le damos clic derecho a nuestro paquete
Bean, New -> Other, seleccionamos JavaServer Faces y luego JSF
Managed Bean. Como Scope seleccionaremos View.
Ahora modificaremos el bean de la siguiente manera: primero
crearemos un objeto Persona y luego una lista de objetos persona, a
estos objetos les crearemos getters y setters para que puedan ser
accedidos desde la vista. Además añadiremos los métodos insertar,
modificar, eliminar y mostrar, los cuales accederán a los métodos
establecidos en nuestro DAO.
Dentro del constructor personaBean() definir lo siguiente: persona = new Persona() para que deje de ser un objeto nulo.
Primero modificaremos el getPersonas() que devuelve una lista de
personas con la siguiente estructura para que se cargue desde la base de
datos:
Luego crearemos los métodos de los que se hablo anteriormente:
Ahora procederemos a eliminar nuestro welcomePrimefaces.xhtml y a
modificar nuestro index.xhtml para hacerle una gestión a la tabla
persona anteriormente creada.
Para poder agregar componentes en Primefaces es necesario que
visiten su página oficial y revisen el showcase, en este showcase se
muestran todos los elementos de Primefaces y la forma correcta de
usarse, como se puede ver en la página, cada uno de estos usa un bean.
Para acceder al showcase por favor ingresen a este link: Clic aquí.
En nuestro index.xhtml, dentro de las etiquetas <h:body> crearemos un formulario, con la siguiente estructura
Lo que se está haciendo acá es que para cada inputText se le asigna
un valor, ese valor es un atributo del objeto de la clase Persona que se
encuentra en personaBean, entonces al llenar el campo de texto y
apretar el boton de insertar, se mandan esos atributos al objeto del
bean.
En nuestra vista, lo que quedaría es lo siguiente:
Entonces, al ingresar una nueva persona, esta quedaría registrada en nuestra base de datos:
Ahora, una vez que ya inserta procederemos a mostrar todas las
personas que están registradas en nuestra base de datos. Para esto
usaremos un DataTable, la información sobre este componente la pueden
encontrar en el showcase que les brindé al inicio de la guía.
Agregaremos el siguiente formulario con el DataTable y las distintas
columnas de cada objeto de la clase Persona, como se puede observar, el
componente dataTable solicita una lista de objetos, en este caso
#{personaBean.personas} y le asigna una variable, en este caso: "per" a
cada uno de los registros.
Entonces, nuestra vista quedaría de esta forma:
Adicionalmente, en el botón del formulario de insertar, se añadirá
el siguiente atributo: update=":formMostrar" que hace que mediante Ajax,
se actualice la tabla de datos sin necesidad de actualizar la página:
Con esto, solo faltaría modificar y eliminar: Agregaremos a la dataTable un campo con un botón de eliminar y otro de modificar:
Y crearemos dos p:dialog, uno para modificar y otro para eliminar como se puede apreciar a continuación:
Para modificar:
La vista quedaría así al dar clic en botón modificar:
Para eliminar:
Y la vista quedaría así al dar clic en eliminar:
Con esto concluiría el tutorial, espero que les haya gustado y que
hayan podido comprender un poco más sobre hibernate, JSF Primefaces y
Mysql. Si tienen alguna duda, pueden dejarla en comentario y responderé
en cuanto la vea. Muchas gracias.
Muy buen tutorial . !! Muchas grcias :)
ResponderEliminarMe lo puedes enviar amigo ? julian.micolta@hotmail.com y saber cual es el script para la bd
ResponderEliminarint id, String nombre y apellido ???
Eliminar