Vistas de página en total

martes, 9 de diciembre de 2014

Mensajes de Alerta con primefaces

Este este post veremos como mandar los mensajes ya sea de alerta, de informacion o error dependiendo el caso o uso que se le vaya a dar, en este ejemplo tomare en cuenta el de un registro donde se validaran los passwords que sean los mismos.

primefaces tiene un tag que es p:messages en el parametro showDetails es para que se muestren los detalles, closable es para que podamos cerrar el mensaje   

<p:messages id="msjgral" showDetail="true" autoUpdate="true" closable="true"/> asi que nuestro formulario quedaria asi:

<h:form id="frmRegisterUser">
                    <p:messages id="msjgral" showDetail="true" autoUpdate="true" closable="true"/>
                    <h:panelGrid columns="2">
                        <h:outputText value="Nombre"/>
                        <p:inputText id="txtName" value="#{managedBeanUser.getUser().nombres}"/>
                        <h:outputText value="Apellido Paterno"/>
                        <p:inputText id="txtAp" value="#{managedBeanUser.getUser().ap}"/>
                        <h:outputText value="Apellido Materno" />
                        <p:inputText id="txtAm" value="#{managedBeanUser.getUser().am}"/>
                        <h:outputText value="Usuario" />
                        <p:inputText id="txtUser" value="#{managedBeanUser.getLogin().user}"/>
                        <h:outputText value="Contraseña" />
                        <p:password id="txtPass" value="#{managedBeanUser.getLogin().pass}"/>
                        <h:outputText value="Confirmar Contraseña" />
                        <p:password id="txtPassConfirm" value="#{managedBeanUser.confirPassword}"/>
                        <h:outputText value="E-Mail"/>
                        <p:inputText id="txtEmail" value="#{managedBeanUser.getUser().email}" size="39"/>
                        <h:outputText value="Direccion"/>
                        <p:inputText id="txtDireccion" value="#{managedBeanUser.getUser().direccion}" size="49"/>
                        <h:outputText value="Fecha de nacimiento"/>
                        <p:calendar value="#{managedBeanUser.getUser().fechaNacimiento}"/>
                        <h:outputText value="Sexo"/>
                        <p:selectOneRadio id="radSex" value="#{managedBeanUser.getUser().sexo}">
                            <f:selectItem itemLabel="Hombre" itemValue="H"/>
                            <f:selectItem itemLabel="Mujer" itemValue="M"/>
                        </p:selectOneRadio>
                        <p:commandButton id="btn1" value="Registrar" action="#{managedBeanUser.registerUser()}"/>
                    </h:panelGrid>
                </h:form>




Ahora modificaremos de nuevo nuestro managedBean y quedaria de la siguiente forma:

public String registerUser() throws Exception {
        /*haremos la validacion de que el password sea el mismo a la hora de confirmarlo con una condicional podremos realizarlo*/
        if(!login.getPass().equals(confirPassword)){
            /*leer el contexto como msj y poder lanzarlo a la vista FacesMessage(FacesMessage.tipo de msj, titulo, msj)*/
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Error", "Error de coincidencia de Password"));
            return "/User/RegisterUser";
        }
        /*se agregar a la variable pass de la clase login el pass encriptado*/
        login.setPass(Encrypting.encrypting(login.getPass()));
        usersDAO daoUsers = new usersDAO();
        daoUsers.registerUsers(this.user);
        loginDAO daoLogin = new loginDAO();
        daoLogin.registerLogin(login);
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Exito", "Datos insertados Exitosamente"));
        return "/User/RegisterUser";
    }


con esto obtendremos 2 tipos de mensajes uno como error y otro como informacion o exito



No hay comentarios:

Publicar un comentario