Vistas de página en total

martes, 16 de diciembre de 2014

Consultar Datos a la hora de iniciar sesion

En esta parte realizaremos un formulario donde usuario pueda ver sus datos a la hora de iniciar sesion asi que realizaremos lo siguiente no sin antes mencionar que eh cambiado parte del codigo esto fue porque ya saben el cliente dice una cosa y quiere otra jejeje.

Creamos un nuevo metodo en el managedBeanUser y ya no hay managedBeanLogin lo quite como lo antes mencione asi que deberia quedar asi el bean:

public Usuarios getByUserNamel(){  
        /*inicializamos para asegurarnos*/
        session = null;
        transaction = null;
       
        try {
            /*instanciamos los objetos*/
             usersDAO daoUsers = new usersDAO();
             //abrimos sesion de conexcion
             session = HibernateUtil.getSessionFactory().openSession();
             //creamos la transaccion y la comenzamos
             transaction = session.beginTransaction();
             //sesion para recuperar las url que van llegando y hacer la comparacion
             HttpSession sessionUser = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true);          
             //pasamos la session al objecto con sus parametros de session y la sessionUser con el atributo del bean de session haciendo un casting a String
             user = daoUsers.getByUserName(session,sessionUser.getAttribute("userName").toString());          
             transaction.commit();//cerrar transaccion
             //retornamos
             return user;
        } catch (Exception e) {
            //verificamos sino hay ya una transaccion ya definida
            if(transaction != null){
                //si lo hay haremos que todo se revierta en la BD y que como estaba antes de utilizar este metodo
                transaction.rollback();
            }
             FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_FATAL, "Error Fatal", "Contacte con su administrador "+e.getMessage()));
             return null;
        }finally{
            //verificamos sino hay ya una session ya definida
            if(session != null){
                //si lo hay cerramos la session
                session.close();
            }
        }
    }


Creamos un una pagina enlazada con el template que tenemos hecho y debe quedar asi:

<h2>Mis datos</h2>
                <hr />
                <h:form id="formDataUser">
                    <p:growl id="msjGral" showDetail="true" sticky="false" />
                    <p:dataTable id="tablaTUsuario" var="item" value="#{managedBeanUser.byUserNamel}" paginator="false" rows="1">  
                        <p:column headerText="Nombre">
                            <h:outputText value="#{item.nombres}"/>
                        </p:column>
                        <p:column headerText="Apellido paterno">
                            <h:outputText value="#{item.ap}"/>
                        </p:column>
                        <p:column headerText="Apellido materno">
                            <h:outputText value="#{item.am}"/>
                        </p:column>
                        <p:column headerText="Correo electrónico">
                            <h:outputText value="#{item.email}"/>
                        </p:column>
                        <p:column headerText="Fecha de nacimiento">
                            <h:outputText value="#{item.fechaNacimiento}"/>
                        </p:column>
                        <p:column headerText="Sexo">
                            <h:outputText value="#{item.sexo}"/>
                        </p:column>
                        <p:column headerText="Direccion">
                            <h:outputText value="#{item.direccion}"/>
                        </p:column>
                        <p:column headerText="">
                            <p:commandButton value="Actualizar datos" onclick="PF('dialogoEditarUsuario').show()"/>
                        </p:column>
                    </p:dataTable>                  
                </h:form>


y una vez iniciado session se mostraran los datos del usuario:


No hay comentarios:

Publicar un comentario