Не удается отформатировать тип даты из Xhtml, (Hibernate Framework) - PullRequest
0 голосов
/ 25 октября 2019

Проблема в том, что вход (типа даты) не может отправить дату в класс, потому что, когда я показываю данные таблицы, поле даты кажется пустым. Я читал, что входная дата возвращает String, готовую к ее использованию в Sql, поэтому я присвоил ее переменной String (и после выполнения преобразования), я попытался напрямую присвоить входную переменную Date, но это все еще происходит. Код xhtml:

            <h:form id="formAdd" style="visibility: hidden">
                Formulario
                <table>
                    <tr>
                        <th>ID</th>
                        <th>Nombre</th>
                        <th>Fecha Ingreso</th>
                    </tr>
                    <tr>
                        <th>
                            <h:inputText id="idN" value="#{consultasMB.id}"/>
                        </th>
                        <th>
                            <h:inputText id="nameN" value="#{consultasMB.name}"/>
                        </th>
                        <th>                            
                            <input id="dateN" type="date" value="#{consultasMB.dateSt}"/>
                        </th>
                    </tr>
                </table>
                <h:commandButton action="#{consultasMB.addC()}" value="Agregar"/>
            </h:form>

И классы (я добавляю только важный код) "ConsultasMB", "CuHelper" и "Cuidador" (сгенерированные Hibernate) соответственно:

    public void addC(){
        int n1 = Integer.parseInt(id);
        Date d = Date.valueOf(dateSt);
        cuidadorAux.setIdCuidador(n1);
        cuidadorAux.setNombre(name);
        cuidadorAux.setFechaIngreso(d);
        cHelper.Save(cuidadorAux);
    }
    //I didn't add in this post the getters & setters
    public void Save(Cuidador cuid){
        Transaction trns = null;
        Session session = NewHibernateUtil.getSessionFactory().openSession();
        try{
            trns = session.beginTransaction();
            session.save(cuid);
            session.getTransaction().commit();
        }catch(RuntimeException e){
            if(trns!=null) trns.rollback();
            e.printStackTrace();
        }finally{
            session.flush();
            session.close();
        }
    }
    //I suppose that this method works properly, because (a similar one) worked perfectly
    //But, of course, without date types
public class Cuidador  implements java.io.Serializable {


     private int idCuidador;
     private String nombre;
     private Date fechaIngreso;

    public Cuidador() {
    }


    public Cuidador(int idCuidador) {
        this.idCuidador = idCuidador;
    }
    public Cuidador(int idCuidador, String nombre, Date fechaIngreso) {
       this.idCuidador = idCuidador;
       this.nombre = nombre;
       this.fechaIngreso = fechaIngreso;
    }

    public int getIdCuidador() {
        return this.idCuidador;
    }

    public void setIdCuidador(int idCuidador) {
        this.idCuidador = idCuidador;
    }
    public String getNombre() {
        return this.nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    public Date getFechaIngreso() {
        return this.fechaIngreso;
    }

    public void setFechaIngreso(Date fechaIngreso) {
        this.fechaIngreso = fechaIngreso;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...