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

    java.lang.NullPointerException con dati ricevuti da form

    Ciao!
    ho una form di questo tipo
    codice:
    <form name="form1" action="action.jsp" method="post">
        												
    Questo è un Double:	<input name="doub" 		type="text"/> 
     
    Questo è una stringa:	<input name="str" 	        type="text"/> 
    
    <input name="submit" 	type="submit"  value="Procedi" />
    </form>
    e una pagina JSP che riceve i dati in questo modo
    codice:
    ...
    <%
    
    Double db = Double.parseDouble(request.getParameter("doub"));
    String stringa = request.getParameter("str");
    ...
    .

    Apparentemente è tutto ok, provando la form ottengo nella pagina di elaborazione tutti i dati inseriti, eppure se guardo il sorgente della pagina prodotta vedo
    The server encountered an internal error () that prevented it from fulfilling this request. Exceptionorg.apache.jasper.JasperException: An exception occurred processing JSP page /action.jsp at line...
    e poi più avanti
    root cause
    java.lang.NullPointerException
    sun.misc.FloatingDecimal.readJavaFormatString(Floa tingDecimal.java:991)
    java.lang.Double.parseDouble(Double.java:510)
    sapete dirmi dove sbaglio??

    grazie!

  2. #2
    hai verificato che la riga che da l'eccezione sia proprio quella postata?
    Ivan Venuti
    Vuoi scaricare alcuni articoli sulla programmazione, pubblicati su riviste di informatica? Visita http://ivenuti.altervista.org/articoli.htm. Se vuoi imparare JavaScript leggi il mio libro: http://www.fag.it/scheda.aspx?ID=21754 !

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Prima di Java 5 l'istruzione

    codice:
    Double db = Double.parseDouble(request.getParameter("doub"));
    è sbagliata. Il metodo parseDouble() della classe Double restituisce un valore double (ovvero, un valore primitivo, non un oggetto).

    Sinceramente non ho mai utilizzato codice scriptlet all'interno delle JSP (che andrebbero utilizzate solo ed esclusivamente per la presentazione, non per l'elaborazione di dati), quindi non ho idea se da Java 5 in avanti subentri l'autoboxing anche nelle JSP.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    43
    #ivenuti
    la riga è proprio quella.

    #LeleFT
    avevo già provato a mettere double e non Double, ma l'errore c'è lo stesso.
    Cosa dovrei usare per l'elaborazione dati?sono apertissimi ad ogni consiglio!



    in ogni caso ho notato una cosa strana: usando chrome (oppure chromium ) nel sorgente della pagina l'errore c'è, usando firefox non c'è!

  5. #5
    Nella definizione degli input nella form, prova ad utilizzare id="doub" al posto di name="doub" (stessa cosa per la stringa)
    Al mio segnale... scatenate l'inferno!

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    43
    #R@ve M@ster
    facendo come mi hai suggerito ottengo solo l'eccezione(come postato sopra) e nessun risultato

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Prova semplicemente a far stampare alla JSP il valore ricevuto dalla request:

    codice:
    <%= request.getParameter("doub"); %>
    E prova a vedere cosa ti stampa.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    43
    Originariamente inviato da LeleFT
    Prova semplicemente a far stampare alla JSP il valore ricevuto dalla request:

    codice:
    <%= request.getParameter("doub"); %>
    E prova a vedere cosa ti stampa.


    Ciao.
    mi ero perso la risposta!!
    cmq, stampa il risultato ma se guardo il sorgente la segnalazione di errore rimane. A questo punto credo, visto che l'errore si presenta solo con chrome, che sia un suo bug (un altro dopo quello del localhost mentre si è offline!!)

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.