maridelsud
15-07-2014, 16:55
ciao a tutti, sono quasi alla fine del mio progetto, un sito web dinamico che gestisce un lido balneare, con eclipse, in java e con pagine jsp.
Sto facendo adesso la parte in cui un utente può prenotare una cabina in questo lido. alla fine della prenotazione, l'utente ha deciso la data iniziale, la data finale, ha scelto eventuali servizi (sono acqua, asciugamani, elettricità), e io faccio il conto dello sconto, e dovrei aggiungere una riga alla tabella "Prenotazioni" nel mio database (mysql).
Sto usando le session per tenere traccia dei dati nelle pagine jsp.
nell'ultima pagina jsp, quella che richiama il metodo che aggiunge la riga alla tabella prenotazioni, richiamo un po di dati con le session. l'errore me lo da in quell'occasione.
Il problema è che ho grosse difficoltà a passare gli INT alle sessioni...ho perfino provato a convertirli in stringhe, passarli alla sessione, riconvertirli in INT, ma niente....
il codice dove prendo gli INT è:
calcolaDurata stagista = new calcolaDurata();
int durata = stagista.durata(dataI, dataF);
String durataStr = Integer.toString(durata);
session.setAttribute("durataStr", durata);
il codice dove provo a riprendermi la "durata", che è quello alla pagina jsp successiva, è:
String durataS = (String) session.getAttribute("durataStr");
int durata = Integer.parseInt("durataS");
System.out.println("DURATA INT " + durata);
mi da l'errore:
org.apache.jasper.JasperException: An exception occurred processing JSP page /UconfermaPrenotazione.jsp at line 21
la linea 21 è proprio
String durataS = (String) session.getAttribute("durataStr");
e dice poi appunto:
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
Sto facendo adesso la parte in cui un utente può prenotare una cabina in questo lido. alla fine della prenotazione, l'utente ha deciso la data iniziale, la data finale, ha scelto eventuali servizi (sono acqua, asciugamani, elettricità), e io faccio il conto dello sconto, e dovrei aggiungere una riga alla tabella "Prenotazioni" nel mio database (mysql).
Sto usando le session per tenere traccia dei dati nelle pagine jsp.
nell'ultima pagina jsp, quella che richiama il metodo che aggiunge la riga alla tabella prenotazioni, richiamo un po di dati con le session. l'errore me lo da in quell'occasione.
Il problema è che ho grosse difficoltà a passare gli INT alle sessioni...ho perfino provato a convertirli in stringhe, passarli alla sessione, riconvertirli in INT, ma niente....
il codice dove prendo gli INT è:
calcolaDurata stagista = new calcolaDurata();
int durata = stagista.durata(dataI, dataF);
String durataStr = Integer.toString(durata);
session.setAttribute("durataStr", durata);
il codice dove provo a riprendermi la "durata", che è quello alla pagina jsp successiva, è:
String durataS = (String) session.getAttribute("durataStr");
int durata = Integer.parseInt("durataS");
System.out.println("DURATA INT " + durata);
mi da l'errore:
org.apache.jasper.JasperException: An exception occurred processing JSP page /UconfermaPrenotazione.jsp at line 21
la linea 21 è proprio
String durataS = (String) session.getAttribute("durataStr");
e dice poi appunto:
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String