Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    343

    [jsp] memorizza data in database mysql

    Salve ragazzi devo memorizzare una stringa che contiene una data in un database mysql....ma ottengo un errore.
    questa è il metodo della classe
    codice:
    public String ConvertDate(String data)    
        {
            data = getData_inserimento();
            SimpleDateFormat dateformatYYYYMMDD = new SimpleDateFormat("yyyyMMdd");
            StringBuilder nowYYYYMMDD = new StringBuilder( dateformatYYYYMMDD.format( data ) );
            return data;
        }
    questa è la jsp...
    codice:
    String data_inserimento = request.getParameter("data_inserimento");
    bean.setData_inserimento(data_inserimento);
    String data_modificata = bean.ConvertDate(data_inserimento);
    bean.setData_inserimento(data_modificata);
    bean.salvaData();
    ottengo il seguente errore:
    org.apache.jasper.JasperException: Exception in JSP: /nuovo.jsp:25

    23: bean.setData_inserimento(data_inserimento);
    24:
    25: String data_modificata = bean.ConvertDate(data_inserimento);
    26: bean.setData_inserimento(data_modificata);
    27: bean.salvaData();

    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handle JspException(JspServletWrapper.java:504)
    org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:393)
    org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:802)

    root cause

    java.lang.IllegalArgumentException: Cannot format given Object as a Date
    java.text.DateFormat.format(Unknown Source)
    java.text.Format.format(Unknown Source)
    beans.UtentiBean.testConvertDateToString(UtentiBea n.java:51)
    org.apache.jsp.nuovo_jsp._jspService(nuovo_jsp.jav a:140)
    org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
    org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:332)
    org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:802)

  2. #2
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Lo stack trace dell'eccezione che hai postato si riferisce ad un errore presente in un metodo della classe UtentiBean chiamato testConvertDateToString()... ma immagino che tu abbia solo fatto un rename.
    Direi proprio che si tratta di un errore di formato: la stringa che cerchi di convertire non è in un formato "data" corretto.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    343
    si si desa è solo un rename...
    come posso convertirlo?

  4. #4
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Inizia a fare una System.out.println() di data_inserimento subito dopo questa istruzione

    codice:
    String data_inserimento = request.getParameter("data_inserimento");
    e vediamo cosa c'è scritto dentro

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    343
    fatto...mi restituisce la data inserita da me nel form correttamente....
    modificando la classe in questo modo...invece non mi restituisce errori,ma converte la data in una data senza senso....tipo :0300-03-03
    codice:
    package beans;
    import java.util.Date;
    import java.text.SimpleDateFormat;
    
    public class Utenti 
    {
        public String metodo(String data)    
        {
            
            System.out.println(data);  //24/09/2010  
            String s2="";
            Date dateins; 
            SimpleDateFormat dateformatYYYYMMDD = new SimpleDateFormat("yyyy/MM/dd");
            try 
            {
    dateins = new java.sql.Date(dateformatYYYYMMDD.parse(data).getTime());
                 System.out.println(dateins);   //0030-03-03
                StringBuilder nowYYYYMMDD = new StringBuilder( dateformatYYYYMMDD.format( dateins ) );  
                s2 = nowYYYYMMDD.toString();
            }
            catch (Exception e) 
            {
                System.out.println(e.toString());
            }
            return s2;
        }   
    }
    ho inserito un po di system.out nella classe e sono andata a veder nei log...riceve la stringa correttamente poi fa una conversione strana.

  6. #6
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Non capisco perchè utilizzi la classe Date del package java.sql, che ha senso solo per un uso con JDBC (mentre tu stai lavorando su una conversione)...

    Comunque, ho rivisto i primi due snippet di codice che hai postato, e ho notato che nel corpo del metodo ConvertDate() esegui l'istruzione

    codice:
    data = getData_inserimento();
    Ora, che senso ha passare un parametro al metodo se poi lo "sovrascrivi" subito, utilizzando quindi nel resto della sua esecuzione un altro valore? A questo punto vorrei sapere cosa c'è dentro "data"...

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    343
    effettivamente è inutile non serve...ma l'errore comunque resta lo stesso

  8. #8
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Già, ma resta anche la mia domanda...

    Tu avevi stampato "data_inserimento" mi hai detto che contiene la stringa con la data come te la aspetti. Ma visto che poi non la usi mai nel metodo ConvertDate(), questo non ci ha detto assolutamente nulla... quindi, a questo punto, la questione è: cosa ti viene restituito dalla chiamata "getData_inserimento()", visto che è questo il valore che impieghi nel metodo?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.