Aprovecharemos los conceptos de Ciclo de Vida de JSF, Managed Bean(ViewScope) y haremos lo siguiente
Descargar el Siguiente Proyecto Java
example-jdbc-derby.zip
Hacer una Página JSF que liste todos los Productos, (utilizar API de Proyecto descargado), Crear Nuevo Producto, Modificar Productos Existentes, Eliminar Productos, etc.
Para Mostrar una lista de Productos, utilizar el componente Datatable que se muestra en el siguiente ejemplo:
<h:dataTable value="#{productoManagedBean.list}" var="item"> <h:column> <f:facet name="header"> <h:outputText value="Nombre"></h:outputText> </f:facet> <h:outputText value="#{item.nombre}"></h:outputText> </h:column> <!-- Completar columnas que faltan --> <h:column> <f:facet name="header"> <h:outputText value="Modificar"></h:outputText> </f:facet> <h:commandButton value="Modificar" action="#{productoManagedBean.modificar(item)}"></h:commandButton> </h:column> <h:column> <f:facet name="header"> <h:outputText value="Eliminar"></h:outputText> </f:facet> <h:commandButton value="Modificar" action="#{productoManagedBean.eliminar(item)}"></h:commandButton> </h:column> </h:dataTable>Utilizar el Siguiente ManagedBean como Plantilla Base
package com.roshka.tutorial.jsf; import java.util.List; import javax.annotation.PostConstruct; import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; import com.roshka.examples.jdbc.Producto; @ManagedBean(name = "productoManagedBean") @ViewScoped public class ProductoABM { private Producto oldValue; private Producto newValue; public boolean editMode = false; public Listlist = null; public ProductoABM() { } @PostConstruct // método que se llama después de construir e inyectar todas las propiedades public void postConstruct() { // llenar la lista de productos } public String guardarCambios() { // TODO return null; } public String crearNuevoProducto() { // TODO return null; } public String cancelar() { // TODO return null; } public String modificar(Producto producto) { // TODO return null; } public Producto getOldValue() { return oldValue; } public void setOldValue(Producto oldValue) { this.oldValue = oldValue; } public Producto getNewValue() { return newValue; } public void setNewValue(Producto newValue) { this.newValue = newValue; } public boolean isEditMode() { return editMode; } public void setEditMode(boolean editMode) { this.editMode = editMode; } }
No hay comentarios:
Publicar un comentario