En esta primera ejemplo mostrar dataTable para mostrar registros para poder manipular informacin
1. Ambiente de desarrollo - JDK v1.6.0.27 - Netbeans v7.1.2 - MySql v5.1.61 - Apache tomcat 7 Crear una clase llamado Alumno
public class Alumno { private Integer id; private String dni; private String paterno; private String materno; private String nombres; private String direccion; private String telefono; private String correo; public Alumno() { } Crear el get y set
SqlSession session = sqlSessionFactory.openSession(); try { session.insert("Alumno.actualizar", alumno); session.commit(); } catch (Exception e) { System.out.println("Error en AlumnoDao>actualizar: " + e.getMessage()); session.rollback(); }finally{ session.close(); } } public Alumno buscarPorId(Integer id) { SqlSession session = sqlSessionFactory.openSession(); try { Alumno alumno = session.selectOne("Alumno.buscarPorId", id); return alumno; } catch (Exception e) { System.out.println("Error en AlumnoDao>buscarPorId: " + e.getMessage()); return null; }finally{ session.close(); } } public List<Alumno> buscarTodos() { SqlSession session = sqlSessionFactory.openSession(); try { List<Alumno> alumnos = session.selectList("Alumno.buscarTodos"); return alumnos; } catch (Exception e) { System.out.println("Error en AlumnoDao>buscarTodos: " + e.getMessage()); return null; } finally { session.close(); } } public void eliminar(Integer id) { SqlSession session = sqlSessionFactory.openSession(); try { session.delete("Alumno.eliminar", id); session.commit(); } catch (Exception e) { System.out.println("Error en AlumnoDao>eliminar: "+e.getMessage()); session.rollback(); } finally { session.close(); } } }
public AlumnoBean() { alumno = new Alumno(); } public Alumno getAlumno() { return alumno; } public void setAlumno(Alumno alumno) { this.alumno = alumno; } public List<Alumno> getAlumnos() { alumnoDao = new AlumnoDao(); alumnos = alumnoDao.buscarTodos(); return alumnos; } public void prepararInsertar() { System.out.println("preparar Insertar"); alumno = new Alumno(); } public void insertar() { alumnoDao = new AlumnoDao(); alumnoDao.insertar(alumno); FacesUtils.showFacesMessage("Alumno insertado exitosamente.", 3); System.out.println("Datos insertados"); } public void prepararActualizar(Integer id) { System.out.println("Dentro Actualizar"); alumnoDao = new AlumnoDao(); alumno = alumnoDao.buscarPorId(id); } public void actualizar() { System.out.println("Actualizar"); alumnoDao = new AlumnoDao(); alumnoDao.actualizar(alumno); FacesUtils.showFacesMessage("Alumno actualizado exitosamente.", 3); } public void prepararEliminar(Integer id) { System.out.println("preparar eliminar"); alumnoDao = new AlumnoDao(); alumno = alumnoDao.buscarPorId(id); }
public void eliminar() { System.out.println("eliminado"); alumnoDao = new AlumnoDao(); alumnoDao.eliminar(alumno.getId()); FacesUtils.showFacesMessage("Alumno eliminado exitosamente.", 3); }
value="(*)Correo: " /> <p:inputText id="correo" value="#{alumnoBean.alumno.correo}" style="width:228px; margin: 5px 5px 10px" required="true" validatorMessage="Correo incorrecto" label="correo" requiredMessage="Correo: campo obligatorio"> <f:validateLength maximum="100" /> <f:validateRegex pattern="[\w\.-]*[a-zA-Z0-9_]@[\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zAZ\.]*[a-zA-Z]" /> </p:inputText> </h:panelGrid> </p:panel>
<p:commandButton style="marginleft: 10px;" value="Nuevo"update=":form" actionListener="#{alumnoBean. limpiar}" /> <p:commandButton style="marginleft: 10px;" value="Guardar"update=":formdata" actionListener="#{alumn oBean.insertar}"/> <p:commandButton style="marginleft: 10px;" value="Modificar"update=":formdata" actionListener="#{alu mnoBean.actualizar}"/> <p:separator /> <p:spacer height="20" /> </h:form> <h:form id="formdata"> <p:dataTable id="dataTable" var="t" value="#{alumnoBean.alumnos}" emptyMessage="No hay usuarios disponibles." paginator="true" rows="10" paginatorPosition="bottom" paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15"> <p:column headerText="Id"> <h:outputText value="#{t.id}" /> </p:column> <p:column headerText="Dni"> <h:outputText value="#{t.dni}" /> </p:column> <p:column headerText="Paterno" style="width:25%;"> <h:outputText value="#{t.paterno}" /> </p:column> <p:column headerText="Materno" style="width:25%;"> <h:outputText value="#{t.materno}" /> </p:column> <p:column headerText="Nombre" style="width:25%;"> <h:outputText value="#{t.nombres}" /> </p:column> <p:column headerText="Direccion" style="width:75%;"> <h:outputText value="#{t.direccion}" /> </p:column> <p:column headerText="Telefono" style="width:75%;"> <h:outputText value="#{t.telefono}" /> </p:column> <p:column headerText="Correo" style="width:75%;"> <h:outputText value="#{t.correo}" /> </p:column> <p:column headerText="M" style="width:75%; text-align:center;">
<p:commandButton update=":form:growlEditar" actionListener="#{alumnoBean.prepararActualizar(t.id)}" title="Editar" icon="ui-icon-pencil" /> </p:column> <p:column headerText="M" style="width:5%; text-align:center;"> <p:commandButton actionListener="#{alumnoBean.prepararEliminar(t.id)}" oncomplete="dlgEliminar.show();" title="Eliminar" icon="ui-icon-close"> </p:commandButton> </p:column> </p:dataTable> </h:form> <h:form id="formEliminar"> <p:growl id="growlEliminar" sticky="true" /> <p:confirmDialog id="dlgEliminar" message="Desea eliminar este Alumno?" header="Eliminar Integrante" severity="alert" widgetVar="dlgEliminar"> <p:commandButton value="Eliminar" update=":formdata:dataTable growlEliminar, dlgEliminar" actionListener="#{alumnoBean.eliminar}" oncomplete="dlgEliminar.hide()" icon="icon-delete" /> <p:commandButton value="Cancelar" update=":formdata:dataTable" oncomplete="dlgEliminar.hide()" icon="icon-cancel" /> </p:confirmDialog> </h:form>
Resultado
public Perfil() {}
// get y set }
Crear PerfilDao
public List<Perfil> buscarPerfilPorBusqueda(Perfil perfil) { SqlSession session = sqlSessionFactory.openSession(); try { List<Perfil> perfils = session.selectList("Perfil.buscarPerfilPorBusqueda",perfil); return perfils; } catch (Exception e) { System.out.println("Error en PerfilDao>buscarPerfilPorBusqueda: "+e.getMessage()); return null; } finally { session.close(); }
public void buscarPerfilPorBusqueda() { System.out.println("dentro de busqueda "); perfilDao = new PerfilDao(); perfilPorBusqueda =perfilDao.buscarPerfilPorBusqueda(perfilBusca do); }
Codigo de XHTML
xmlns:p="http://primefaces.org/ui">
<h:form style="margin-bottom: 8px"> <p:commandButton actionListener="#{perfilBean.prepar arInsertar}" update=":formNuevo:pgNuevo"oncomplete="dlgNuev o.show();" value="Nuevo Perfil" icon="icon-add"> </p:commandButton> </h:form> <h:form style="margin-bottom: 8px"> <p:commandButton action="#{perfilBean.imprimir()}"va lue="Reporte" icon="icon-report" ajax="false"> </p:commandButton> </h:form>
<h:form id="formBusqueda"> <p:growl id="growlBusquedaClientes" /> <p:tab id="clientes" title="Clientes"> <p:panel header="Bsqueda de Perfil"> <h:panelGrid columns="6">
<h:outputLabel value="Id "/> <p:inputText value="#{perfilBean.perfilBuscado.id}"/> <h:outputLabel value="Descripcion"/> <p:inputText value="#{perfilBean.perfilBuscado.descrip cion}" style="width: 400px" />
</h:panelGrid> <p:separator/> <p:commandButton value="Buscar" actionListener="#{perfilBean.buscarPerfilPorBusqueda}" update=":formLista:dataTable" icon="icon-disk" /> </p:panel> </p:tab>
</h:form> <h:form id="formNuevo"> <p:dialog header="Nuevo Usuario" widgetVar="dlgNuevo" resizable="false" id="dlgNuevo" modal="true"> <p:growl id="growlNuevo" sticky="true"life="10 00" /> <h:panelGrid id="pgNuevo" columns="2"cellspaci ng="8" style="margin:0 auto;"> <h:outputText value="descripcion" /> <p:inputText value="#{perfilBean.perfil.d escripcion}" style="width: 400px" /> </h:panelGrid> <p:separator /> <p:commandButton value="Guardar" actionListener="#{perfilBean.insertar}" update=":formLista:dataTable, growlNuevo, dlgNuevo" oncomplete="dlgNuevo.hide()" icon="icondisk" /> <p:commandButton value="Cancelar"update=":form Lista:dataTable"
<p:tab id="clientes" title="Clientes"> <p:panel header="Resultados de la Busqueda"> <p:dataTable id="dataTable" var="u" value="#{p erfilBean.perfilPorBusqueda}" emptyMessage="No hay Perfil disponibles."paginator="true" rows="10" paginatorPosition="bottom" paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15"> <p:column headerText="Id"> <h:outputText value="#{u.id}" /> </p:column>
oncomplete="dlgEditar.show();"title ="Editar" icon="icon-edit" /> <p:commandButton disabled="#{(u.id==1) ? true : false}" " actionListener="#{usuarioBean.prepararEliminar(u.id)}
oncomplete="dlgEliminar.show();"tit le="Eliminar" icon="icon-delete" /> </p:column> </p:dataTable> </p:panel> </p:tab> </h:form> <h:form id="formEditar"> <p:dialog header="Editar Usuario"widgetVar="dlgEditar" resizable="false" id="dlgEditar" modal="true"> <p:growl id="growlEditar" sticky="true"life="1 000" /> <h:panelGrid id="pgEditar" columns="2"cellspac ing="8" style="margin:0 auto;"> <h:outputText value="Descripcion:" /> <p:inputText value="#{perfilBean.perfil.d escripcion}" style="width: 400px" /> </h:panelGrid> <p:separator /> <p:commandButton value="Actualizar" update=":formLista:dataTable, growlEditar, dlgEditar" actionListener="#{perfilBean.actualizar}" oncomplete="dlgEditar.hide()" icon="iconupdate" />
<p:commandButton value="Cancelar"update=":form Lista:dataTable" oncomplete="dlgEditar.hide()" icon="iconcancel" /> </p:dialog> </h:form> <h:form id="formEliminar"> <p:growl id="growlEliminar" sticky="true" /> <p:confirmDialog id="dlgEliminar" message="Desea eliminar este usuario"header="Eliminar Integrante" severity="alert" widgetVar="dlgEliminar"> <p:commandButton value="Eliminar" update=":formLista:dataTable, growlEliminar, dlgEliminar" actionListener="#{perfilBean.eliminar}" oncomplete="dlgEliminar.hide()" icon="icon-delete" /> <p:commandButton value="Cancelar"update=":form Lista:dataTable" oncomplete="dlgEliminar.hide()" icon="ico n-cancel" /> </p:confirmDialog>
Resultado