0

I am using Netbeans 8.0.1 - JSF 2.2 Primefaces 4.0 Hibernate 4.3.1

And I try make a dropdown, but I do not get it, please I need help for this, I think that everything is fine; and I show my code here:

xhtml:

<h:form id="formInsertar">
                <p:panelGrid columns="2">
                    <p:outputLabel value="Id:" />
                    <p:inputText value="#{vehiculoBean.vehiculo.idvehiculo}" disabled="true"/>
                    <p:outputLabel value="Tipo:" />
                    <p:selectOneMenu value="#{vehiculoBean.vehiculo.tipovehiculo}">
                        <f:selectItem itemLabel="-Seleccione-" itemValue=""/>
                        <f:selectItems value="#{tipoVehiBean.selectItemsTipoVehi}"/>
                    </p:selectOneMenu>
                    <p:outputLabel value="Marca:" />
                    <p:inputText value="#{vehiculoBean.vehiculo.marca}" />
                    <p:outputLabel value="Modelo:" />
                    <p:selectOneMenu value="#{vehiculoBean.vehiculo.modelo}">
                        <f:selectItem itemLabel="-Seleccione-" itemValue=""/>
                        <f:selectItems value="#{modeloBean.selectItemsmodelo}"/>
                    </p:selectOneMenu>
                    <p:outputLabel value="Color:" />
                    <p:selectOneMenu value="#{vehiculoBean.vehiculo.color}">
                        <f:selectItem itemLabel="-Seleccione-" itemValue=""/>
                        <f:selectItems value="#{colorBean.selectItemsColor}"/>
                    </p:selectOneMenu>
                    <p:outputLabel value="Año" />
                    <p:inputText value="#{vehiculoBean.vehiculo.anofabri}" />
                    <p:outputLabel value="Serie:" />
                    <p:inputText value="#{vehiculoBean.vehiculo.serie}" />
                    <p:outputLabel value="Motor:" />
                    <p:inputText value="#{vehiculoBean.vehiculo.motor}" />
                </p:panelGrid>
                <p:commandButton value="Crear" update=":formMostrar" actionListener="#{vehiculoBean.insertar()}" 
                                 oncomplete="dlginsertar.hide();" />
            </h:form>

My beans: VehiculoBean;

public vehiculoBean() {
}

public Vehiculo getVehiculo() {
    if(vehiculo == null){
        vehiculo = new Vehiculo();
    }
    return vehiculo;
}

public void setVehiculo(Vehiculo vehiculo) {
    this.vehiculo = vehiculo;
}

public List<Vehiculo> getVehiculos() {
    VehiculoDao tipodao = new VehiculoDaoImplements();
    vehiculos = tipodao.mostrarVehiculo();
    return vehiculos;
}

public void setVehiculos(List<Vehiculo> vehiculos) {
    this.vehiculos = vehiculos;
}

public void insertar (){
    VehiculoDao linkDao = new VehiculoDaoImplements();
    Date d = new Date();
    vehiculo.setFechareg(d);
    linkDao.insertarTipoVehiculo(vehiculo);
    vehiculo = new Vehiculo();

}

public void modificar(){
    VehiculoDao linkDao = new VehiculoDaoImplements();
    linkDao.modificarTipoVehiculo(vehiculo);
    vehiculo = new Vehiculo();
}

public void eliminar(){
    VehiculoDao linkDao = new VehiculoDaoImplements();
    linkDao.eliminarTipoVehiculo(vehiculo);
    vehiculo = new Vehiculo();
}

}

TipoVehiBean;

public class tipoVehiBean {

public Tipovehiculo vehiculo = new Tipovehiculo();
public List<Tipovehiculo> vehiculos;
private List<SelectItem> SelectItemsTipoVehi;

public tipoVehiBean() {
}

public Tipovehiculo getVehiculo() {
    return vehiculo;
}

public void setVehiculo(Tipovehiculo vehiculo) {
    this.vehiculo = vehiculo;
}

public List<Tipovehiculo> getVehiculos() {
    TipoVehiDao tipodao = new TipoVehiDaoImplements();
    vehiculos = tipodao.mostrarTipoVehiculo();
    return vehiculos;
}

public void setVehiculos(List<Tipovehiculo> vehiculos) {
    this.vehiculos = vehiculos;
}

public List<SelectItem> getSelectItemsTipoVehi() {
    this.SelectItemsTipoVehi = new ArrayList<SelectItem>();
    TipoVehiDao tipoVehiDao = new TipoVehiDaoImplements();
    List<Tipovehiculo> tipos = tipoVehiDao.mostrarTipoVehiculo();
    for (Tipovehiculo tipo : tipos) {
        SelectItem selecItem = new SelectItem(tipo.getIdtipovehiculo(),tipo.getNombre());
        this.SelectItemsTipoVehi.add(selecItem);
    }
    return SelectItemsTipoVehi;
}

public void insertar (){
    TipoVehiDao linkDao = new TipoVehiDaoImplements();
    Date d = new Date();
    vehiculo.setFechareg(d);
    linkDao.insertarTipoVehiculo(vehiculo);
    vehiculo = new Tipovehiculo();

}

public void modificar(){
    TipoVehiDao linkDao = new TipoVehiDaoImplements();
    linkDao.modificarTipoVehiculo(vehiculo);
    vehiculo = new Tipovehiculo();
}

public void eliminar(){
    TipoVehiDao linkDao = new TipoVehiDaoImplements();
    linkDao.eliminarTipoVehiculo(vehiculo);
    vehiculo = new Tipovehiculo();
}

}

My daos VehiculoDao;

public class VehiculoDaoImplements implements VehiculoDao{

@Override
public List<Vehiculo> mostrarVehiculo() {
    Session session = null;
    List<Vehiculo> lista = null;
    try{
        session = HibernateUtil.getSessionFactory().openSession();
        Query query = session.createQuery("FROM Vehiculo");
        lista = (List<Vehiculo>)query.list();
    }catch (HibernateException e){
        System.out.println(e.getMessage());
    }
    finally{
        if (session != null){
            session.close();
        }
    }
    return lista;
}

@Override
public void insertarTipoVehiculo(Vehiculo vehiculo) {
    Session session = null;
    try {
        session = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();
        session.save(vehiculo);
        session.getTransaction().commit();
    } catch (HibernateException e){
        System.out.println(e.getMessage());
        session.getTransaction().rollback();
    }
    finally {
        if(session != null){
            session.close();
        }
    }
}

@Override
public void modificarTipoVehiculo(Vehiculo vehiculo) {
    Session session = null;
    try {
        session = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();
        session.update(vehiculo);
        session.getTransaction().commit();
    } catch (HibernateException e){
        System.out.println(e.getMessage());
        session.getTransaction().rollback();
    }
    finally {
        if(session != null){
            session.close();
        }
    }
}

@Override
public void eliminarTipoVehiculo(Vehiculo vehiculo) {
    Session session = null;
    try {
        session = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();
        session.delete(vehiculo);
        session.getTransaction().commit();
    } catch (HibernateException e){
        System.out.println(e.getMessage());
        session.getTransaction().rollback();
    }
    finally {
        if(session != null){
            session.close();
        }
    }
}

And I did all this and not recorded in the database; Could you help me?

BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555
John Lopez
  • 127
  • 1
  • 9
  • Add `` to the form. Do you now see any error message when submitting the form? – BalusC Aug 04 '15 at 21:39
  • oh yeah, I put what you said and this was the message: conversion error to set the value '1' to 'null converter' – John Lopez Aug 04 '15 at 21:47
  • Can u help me @BalusC ?? Could You help me? – John Lopez Aug 04 '15 at 23:47
  • You forgot the converter. See the duplicate. – BalusC Aug 05 '15 at 06:30
  • @BalusC sorry for my english, also sorry for my inexperience, I try solve the problem, using Omnifaces, but now i receive this message: Cannot convert 1 of type class java.lang.Integer to class (Entitite:entitie); I read in the forum and the solution is using a converter, but i dont know exactly when implements the "CustomizeConverter", thank you for your patiente – John Lopez Aug 05 '15 at 14:02
  • Your select item values are wrong. It's time to take a step back and practice a bit more with ``: http://stackoverflow.com/q/6848970 – BalusC Aug 05 '15 at 14:04
  • but nox my code is follow: I mentioned this: Cannot convert 1 of type class java.lang.Integer to class – John Lopez Aug 05 '15 at 14:30
  • I read the documentation of omnifaces, and other examples of the web, I indicate that I have to implement a hashCode () and equals () in the entity, but my problem is that I'm not clear on which entity and I I pull data from a bean to save another. I hope your help. _you should also make sure that your entity has a good equals() and hashCode() implementation, otherwise JSF won't be able to set the right entity back in the model. Please note that this problem is in turn unrelated to the SelectItemsConverter_, **you would have faced the same problem when using any other converter.** – John Lopez Aug 05 '15 at 22:55
  • I solved it: [Answer in my blog](http://dajohlopez.blogspot.com/2015/08/cargando-un-selectonemenu-con.html) – John Lopez Aug 07 '15 at 16:03

0 Answers0