Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    14

    formattare date in jsp collegato a database access

    Buongiorno a tutti, premesso che non so programmare, ho bisogno di far uscire in una pagina jsp collegata al mio db access, tutti i miei campi di tipo "data" in formato italiano gg/mm/aaaa anzichè in quello americano.
    il codice che sto usando è:


    <%@ page import="java.io.*,java.util.*,java.sql.*,java.sql. Date" %>
    <%@ page session="false" %>
    <html>

    <head>
    <title>2009 Valutazioni di Compatibilità con il PTCP e Valutazione Ambientale</title>
    <link rel="stylesheet" type="text/css" href="stile_istruttorie.css">
    </head>



    <body>
    <h1>2009 Valutazioni di Compatibilità con il PTCP e Valutazioni Ambientali</h1>

    <table border="1" class="tit" align="center" >

    <tr><td width="100px">Protocollo</td>
    <td width="100px">Ente/Proponente</td>
    <td width="100px">Tipo istruttoria</td>
    <td width="100px">Descrizione pratica</td>
    <td width="100px">Responsabile di procedimento</td>
    <td width="80px">Data ricevimento</td>
    <td width="80px">Data convocazione conferenza SUAP</td>
    <td width="80px">Termine istruttoria</td>
    <td width="80px">Termine istruttoria tecnica</td>
    <td width="80px">Scadenza adempimento GdL</td>
    <td width="100px">Note Scadenza adempimento GdL</td>
    <td width="80px">Data confronto GdL</td>
    <td width="100px">Necessità Confronto con il Comune</td>
    <td width="80px">Data confronto con il Comune</td>
    <td width="80px">Data Commissione Territorio</td>
    <td width="80px">Data Giunta</td>
    <td width="380px">Note generali</td>

    </tr>

    </table>
    <%


    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection connection=DriverManager.getConnection("jdbc:odbcr iver={Microsoft Access Driver (*.mdb)}; DBQ=D:/Dati_arcims/istruttorie_pgt/istruttorie.mdb");
    Statement statement = connection.createStatement();




    String sql="SELECT * FROM Q_GDL order by Scad_parereGDL";


    ResultSet rs = statement.executeQuery(sql);


    while(rs.next()){

    String Protocollo=rs.getString(1);
    String Ente=rs.getString(2);
    String Tipo_istr=rs.getString(3);
    String pratica=rs.getString(4);
    String Resp_proc=rs.getString(5);
    Date Pervenuta_il=rs.getDate(6);
    Date Data_conv_conf_suap=rs.getDate(7);
    Date Termine_istruttoria=rs.getDate(8);
    Date Termine_istrut_tecnica=rs.getDate(9);
    Date Scad_parereGdL=rs.getDate(10);
    String Note_scadenza_parereGdL=rs.getString(11);
    Date Data_confrontoGdL=rs.getDate(12);
    String Confronto_comune=rs.getString(13);
    Date Data_confronto_comune=rs.getDate(14);
    Date Data_Commissione_Territorio=rs.getDate(15);
    Date Data_Giunta=rs.getDate(16);
    String Note=rs.getString(17);

    %>
    <table border="1" bordercolor="black" align="center" >

    <tr>
    <td width="100px"><%=Protocollo%></td>
    <td width="100px"><%=Ente%></td>
    <td width="100px"><%=Tipo_istr%></td>
    <td width="100px"><%=pratica%></td>
    <td width="100px"><%=Resp_proc%></td>
    <td width="80px"><%=Pervenuta_il%></td>
    <td width="80px"><%=Data_conv_conf_suap%></td>
    <td width="80px"><%=Termine_istruttoria%></td>
    <td width="80px"><%=Termine_istrut_tecnica%></td>
    <td width="80px"><%=Scad_parereGdL%></td>
    <td width="100px"><%=Note_scadenza_parereGdL%></td>
    <td width="80px"><%=Data_confrontoGdL%></td>
    <td width="100px"><%=Confronto_comune%></td>
    <td width="80px"><%=Data_confronto_comune%></td>
    <td width="80px"><%=Data_Commissione_Territorio%></td>
    <td width="80px"><%=Data_Giunta%></td>
    <td width="380px"><%=Note%></td>

    </tr>

    </table>




    <%

    }



    connection.close();



    %>

    </body>
    </html>
    Grazie a chi avrà la pazienza di aiutarmi.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: formattare date in jsp collegato a database access

    Originariamente inviato da naq
    ho bisogno di far uscire in una pagina jsp collegata al mio db access, tutti i miei campi di tipo "data" in formato italiano gg/mm/aaaa anzichè in quello americano.
    Conosci le classi DateFormat e SimpleDateFormat di java.text??
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    14
    sì, le ho viste sui vari manuali, ma non ho la vaga idea di come inserirle nella mia pagina!
    Ogni prova che ho fatto non è riuscita, mi mancano proprio le basi, anche perchè non è il mio mestiere. Se mi dici come inserirle nella mia pagina mi eviti un'altra giornata di tentativi!
    Grazie!

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Originariamente inviato da naq
    sì, le ho viste sui vari manuali, ma non ho la vaga idea di come inserirle nella mia pagina!
    Ogni prova che ho fatto non è riuscita, mi mancano proprio le basi, anche perchè non è il mio mestiere. Se mi dici come inserirle nella mia pagina mi eviti un'altra giornata di tentativi!
    Importi java.text.* ovviamente, poi all'inizio, dove vuoi:

    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");

    Quando devi stampare una data, es:

    <%=sdf.format(Termine_istruttoria)%>

    Tutto qui.
    Se vuoi personalizzare meglio il formato, vedi javadoc di SimpleDateFormat che descrive tutte le lettere utilizzabili nel pattern.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    14
    grazie.
    Io mettevo il SimpleDateFormat sotto la riga del Resultset o sotto la riga del while, mai all'inizio...
    Fortuna che non ne devo fare tutti i giorni!
    Grazie ancora!

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    14

    non funge

    macchè. Non funziona.

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: non funge

    Originariamente inviato da naq
    macchè. Non funziona.
    Non funziona ... cosa? Spiega (e magari mostra il codice).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    14
    Scusa. ecco il codice:
    Ho provato con una sola data:

    <%@ page import="java.io.*,java.util.*,java.sql.*,java.sql. Date, java.text.*" %>
    <%@ page session="false" %>

    <html>

    <head>
    <title>2009 Valutazioni di Compatibilit&agrave; con il PTCP e Valutazione Ambientale</title>
    <link rel="stylesheet" type="text/css" href="stile_istruttorie.css">

    </head>



    <body>
    <h1>2009 Valutazioni di Compatibilit&agrave; con il PTCP e Valutazioni Ambientali</h1>

    <table border="1" class="tit" align="center" >

    <tr> <td width="80px">Termine istruttoria</td>
    </tr>

    </table>
    <%
    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");


    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection connection=DriverManager.getConnection("jdbc:odbc: Driver={Microsoft Access Driver (*.mdb)}; DBQ=D:/Dati_arcims/istruttorie_pgt/istruttorie.mdb");
    Statement statement = connection.createStatement();




    String sql="SELECT * FROM Q_GDL order by Scad_parereGDL";


    ResultSet rs = statement.executeQuery(sql);


    while(rs.next()){

    Date Termine_istruttoria=rs.getDate(8);

    %>
    <table border="1" bordercolor="black" align="center" >

    <tr>
    <td width="80px"><%=sdf.format(Termine_istruttoria)%></td>

    </tr>

    </table>




    <%

    }



    connection.close();



    %>

    </body>
    </html>


    e tomcat mi dà questo errore:

    type Exception report

    message

    description The server encountered an internal error () that prevented it from fulfilling this request.

    exception

    org.apache.jasper.JasperException: An exception occurred processing JSP page /istruttorie2.jsp at line 53

    50:
    51: <tr>
    52:
    53: <td width="80px"><%=sdf.format(Termine_istruttoria)%></td>
    54:
    55: </tr>
    56:


    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handle JspException(JspServletWrapper.java:524)
    org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:435)
    org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:803)


    root cause

    java.lang.NullPointerException
    java.util.Calendar.setTime(Calendar.java:1032)
    java.text.SimpleDateFormat.format(SimpleDateFormat .java:785)
    java.text.SimpleDateFormat.format(SimpleDateFormat .java:778)
    java.text.DateFormat.format(DateFormat.java:314)
    org.apache.jsp.istruttorie2_jsp._jspService(istrut torie2_jsp.java:110)
    org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:803)
    org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:393)
    org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:803)


    note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.

  9. #9
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Originariamente inviato da naq
    org.apache.jasper.JasperException: An exception occurred processing JSP page /istruttorie2.jsp at line 53

    53: <td width="80px"><%=sdf.format(Termine_istruttoria)%></td>

    java.lang.NullPointerException
    Beh potevi arrivarci facilmente anche tu .... è un problema con un null. Escludendo che sdf sia null (visto che hai istanziato appena prima un SimpleDateFormat!!!) allora solo Termine_istruttoria può essere, per deduzione, null!!

    E ovviamente non devi passare un null a format(). Quindi devi fare un test prima.

    Comunque mettere dello scriptlet così in una pagina JSP è brutto e "sporco" .... insomma contro i principi basilari dello sviluppo di web application. Potresti farti delle classi di utility per gestire meglio questa formattazione o meglio ancora, se lo conosci, usare JSTL e in particolare il suo tag <fmt:formatDate>.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    14
    Hai ragione, questa è una brutta incursione in un mondo che non conosco (seppure molto affascinante!). Comunque mi stai dicendo che se il campo in access è vuoto il giro non funziona, giusto? Infatti ho provato con una data che è sempre compilata e funziona. Uffa.
    Il test di cui parli consiste nel verificare che il campo non sia null e fargli scrivere qualcos'altro se lo è... qualcosa del genere?
    Ora studio il da farsi.
    Mi farò comprare un manuale!!
    Comunque grazie.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.