Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ivanchodmd

#1
gracias por responder , he estado haciendo pruebas y me sale el error :Advertencia: /paginas/usuarios/empRegistrar.xhtml @99,96 value="#{usuarioBean.selectedUsuario.usercodi}": Target Unreachable, 'null' returned null

selectUsuario lo utilizo para traer los campos para usuarios nuevos y par editar  pero parece que esta legando vacio, no encuentro una forma de solucionarlo.

Codigo de la vista:
<h:form id="frmEditar">
           <p:dialog id="dlgEditar" header="Editar Usuario" widgetVar="dlgEditar" resizable="false"   modal="true" >  
               <p:growl id="growlEditar" showDetail="true" sticky="true" />  
               <h:panelGrid id="pgEditar" columns="2" cellpadding="4" style="margin:0 auto;">  

                   <h:outputText value="Codigo:"  style="width: 200px" />
                   <h:outputText value="Nombres:" />  
                   <p:inputText value="#{usuarioBean.selectedUsuario.usercodi}" alt="left"  />
                   <p:inputText value="#{usuarioBean.selectedUsuario.usernombre}" style="width: 200px" />

                   <h:outputText value="Usuario:"/>
                   <h:outputText value="Clave:"/>
                   <p:inputText value="#{usuarioBean.selectedUsuario.userusuario}" style="width: 200px"/>
                   <p:inputText value="#{usuarioBean.selectedUsuario.userpwd}" style="width: 200px" />
                   <h:outputText value="Perfil"/>
                   <h:outputText value="Nit"/>
                   <p:inputText value="#{usuarioBean.selectedUsuario.userperfil}" style="width: 200px"/>  
                   <p:inputText value="#{usuarioBean.selectedUsuario.mascompany.compnitcom}" style="width: 200px"/>  
                   
               </h:panelGrid>
     
               <p:separator />
               <p:commandButton value="&nbsp;Actualizar"   update=":frmusuarios, growlEditar, dlgEditar" actionListener="#{usuarioBean.btnUpdateUsuario(actionEvent)}"   oncomplete="dlgEditar.hide()" image="icon-update"  />  
               <p:commandButton   value="&nbsp;Cancelar"   update=":frmusuarios" oncomplete="dlgEditar.hide()" image="icon-cancelar"  />  

           </p:dialog>
       </h:form>


codigo beans:

@Named(value = "usuarioBean")
@RequestScoped
public class usuarioBean {

   private List <Masuser> usuarios;
   private Masuser selectedUsuario;
   
   
    public usuarioBean() {
       
   this.usuarios = new ArrayList <Masuser>();
     
   }
   public List<Masuser> getUsuarios() {
       
      UsuarioDao  usuarioDao  = new UsuarioDaoImpl();
      this.usuarios = usuarioDao.findAll();
      return usuarios;
   }  
   
   public Masuser getSelectedUsuario() {      
       return selectedUsuario;
   }
     
   public void setSelectedUsuario(Masuser selectedUsuario) {
   this.selectedUsuario = selectedUsuario;    
   }
   
   public void btncreateUsuario (ActionEvent actionEvent){
     
       UsuarioDao usuarioDao = new UsuarioDaoImpl();
       String msg;
       if(usuarioDao.create(this.selectedUsuario)){
       msg ="Se creo correctamente el registro";
   }
   else
   {
       msg ="Error al guardar el registro";
       
   }
       FacesMessage message  = new  FacesMessage (FacesMessage.SEVERITY_INFO,msg,null);
       FacesContext.getCurrentInstance().addMessage(null, message);
       
       
}
   public void btnUpdateUsuario (ActionEvent actionEvent){
       
       selectedUsuario    =  new Masuser ();
     
       UsuarioDao usuarioDao = new UsuarioDaoImpl();
       String msg;
       if(usuarioDao.update(this.selectedUsuario)){
       msg ="Se modifico correctamente el registro";
       
   
   }
   else
   {
       msg ="Error al modificar el registro";      
   }
       FacesMessage message  = new  FacesMessage (FacesMessage.SEVERITY_INFO,msg,null);
       FacesContext.getCurrentInstance().addMessage(null, message);
       
       
   }
   public void btnDeleteUsuario (ActionEvent actionEvent){
     UsuarioDao usuarioDao = new UsuarioDaoImpl();
       String msg;
       if(usuarioDao.delete(this.selectedUsuario.getUsercodi())){
       msg ="Se elimino correctamente el registro";
       FacesMessage message  = new  FacesMessage (FacesMessage.SEVERITY_INFO,msg,null);
       FacesContext.getCurrentInstance().addMessage(null, message);
   
   }
   else
   {
       msg ="Error al eliminar el registro";
       FacesMessage message  = new  FacesMessage (FacesMessage.SEVERITY_ERROR,msg,null);
       FacesContext.getCurrentInstance().addMessage(null, message);
       
   }
   }
}
 

codigo implements:

public class UsuarioDaoImpl implements UsuarioDao {

   @Override
   public Masuser findByUsuario(Masuser userusuario) {
       Masuser model = null;
       Session sesion = HibernateUtil.getSessionFactory().openSession();
       String sql = "from  Masuser  where userusuario = '" + userusuario.getUserusuario() + "'";

       try {
           
           sesion.beginTransaction();
           model = (Masuser) sesion.createQuery(sql).uniqueResult();
           sesion.beginTransaction().commit();

       } catch (Exception e) {
           sesion.beginTransaction().rollback();

       }
       return model;

   }

   @Override
   public Masuser login(Masuser userusuario) {
       Masuser model = this.findByUsuario(userusuario);

       if (model !=null)
       {
           if(!userusuario.getUserpwd().equals(model.getUserpwd()))
           model =null;
       }

       return model;

   }

   @Override
   public List<Masuser> findAll() {

      List<Masuser> listado = null;
     
      Session sesion = HibernateUtil.getSessionFactory().openSession();
      String sql = "from Masuser";      
     
       try {

           sesion.beginTransaction();  
           listado =  sesion.createQuery(sql).list();
           sesion.beginTransaction().commit();

       } catch (Exception e) {
           sesion.beginTransaction().rollback();

       }
       return listado;  
    }

   @Override
   public boolean create(Masuser userusuario) {
       boolean flag;
       Session sesion = HibernateUtil.getSessionFactory().openSession();
     
       try {

           sesion.beginTransaction();
           sesion.save(userusuario);
           sesion.beginTransaction().commit();
           flag =true;
       } catch (Exception e) {
           flag=false;
           sesion.beginTransaction().rollback();

       }
       return flag;

   }

   @Override
   public boolean update(Masuser userusuario) {
       boolean flag;
       Session sesion = HibernateUtil.getSessionFactory().openSession();
     
       try {

           sesion.beginTransaction();
           sesion.update(userusuario);
           sesion.beginTransaction().commit();
           flag =true;
       } catch (Exception e) {
           flag=false;
           System.out.println("error");
           sesion.beginTransaction().rollback();

       }
       return flag;
   }

   @Override
       public boolean delete(String usercodi) {
       boolean flag;
       Session sesion = HibernateUtil.getSessionFactory().openSession();
     
       try {

           sesion.beginTransaction();
           Masuser usuario  = (Masuser) sesion.load(Masuser.class, usercodi);
           sesion.delete(usuario);
           sesion.beginTransaction().commit();
           flag =true;
       } catch (Exception e) {
           flag=false;
           sesion.beginTransaction().rollback();

       }
       return flag;
   }
}

Iniicalice las variables en el Bean :

this.selectedUsuario = new Masuser();
      this.selectedUsuario.setUsercodi("");
      this.selectedUsuario.setUsernombre("");
      this.selectedUsuario.setUserpwd("");
      this.selectedUsuario.setUserperfil("");
   
      this.selectedUsuario.setUserusuario("");


con lo que quito la mayoria de los errores pero como el campo Compnitcom es una llave foranea desde otra tabla, me muestra el error (/paginas/usuarios/empRegistrar.xhtml @83,117 value="#{usuarioBean.selectedUsuario.mascompany.compnitcom}": Target Unreachable, 'null' returned null) porque la variable no se inicializa y como esta marcada como not null no hace nada.
#2
Buen dia, soy nuevo en este foro y en el desarrollo en java, estoy implementando un sistema de logueo basico de usuario (un crud) pero al momento de actualizar, eliminar o insertar no pasa nada y la verdad no encuentro el error

el codigo de la vista:

<<h:form id="frmNuevo"> 
            <p:dialog id="dlgNuevo" header="Nuevo Usuario" widgetVar="dlgNuevo" resizable="false"  modal="true">   
                <p:growl id="growlNuevo"  sticky="true" />
                <h:panelGrid id="pgNuevo" columns="2" cellpadding="5" style="margin:0 auto;"> 

                   
                    <h:outputText value="Codigo:"  style="width: 200px" />
                    <h:outputText value="Nombres:" /> 
                    <p:inputText value="#{usuarioBean.selectedUsuario.usercodi}" alt="left"  />
                    <p:inputText value="#{usuarioBean.selectedUsuario.usernombre}" style="width: 200px" />

                    <h:outputText value="Usuario:" />
                    <h:outputText value="Clave:" />
                    <p:inputText value="#{usuarioBean.selectedUsuario.userusuario}" style="width: 200px"/>
                    <p:inputText value="#{usuarioBean.selectedUsuario.userpwd}" style="width: 200px" />
                    <h:outputText value="Perfil" />
                    <h:outputText value="Ciudad" />
                    <p:inputText value="#{usuarioBean.selectedUsuario.userperfil}" style="width: 200px"/> 
                    <p:inputText value="#{usuarioBean.selectedUsuario.mascompany}" style="width: 200px"/>
                </h:panelGrid> 

                <p:separator/>

                <p:commandButton  value="&nbsp;Guardar"   update=":frmusuarios, growlNuevo, dlgNuevo"  actionListener="#{usuarioBean.btncreateUsuario(actionEvent)}"  oncomplete="dlgNuevo.hide()" image="icon-guardar" ></p:commandButton>     
                <p:commandButton value="&nbsp;Cancelar"   oncomplete="dlgNuevo.hide()" image="icon-cancelar"></p:commandButton>

            </p:dialog> 
        </h:form>

>

el metodo:

public boolean update(Masuser userusuario) {
        boolean flag;
        Session sesion = HibernateUtil.getSessionFactory().openSession();
       
        try {

            sesion.beginTransaction();
            sesion.update(userusuario);
            sesion.beginTransaction().commit();
            flag =true;
        } catch (Exception e) {
            flag=false;
            sesion.beginTransaction().rollback();

        }
        return flag;
    }



el bean :

public void btnUpdateUsuario (ActionEvent actionEvent){
     
        UsuarioDao usuarioDao = new UsuarioDaoImpl();
        String msg;
        if(usuarioDao.update(this.selectedUsuario)){
        msg ="Se modifico correctamente el registro";
    }
    else
    {
        msg ="Error al modificar el registro";
       
    }


si pudieran asesorarme se los agradeceria mucho

gracias