Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    63

    Quanti check ho selezionato?

    Ho una tabella con tanti check, tutti con lo stesso nome. Io vorrei sapere quanti check ho selezionato in modo da far fare diverse cose in base al numero dei check selezionati. Il problema è che se non seleziono niente ottengo questo risultato.

    type Exception report

    message

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

    exception

    java.lang.NullPointerException
    pValori.processRequest(pValori.java:44)
    pValori.doPost(pValori.java:225)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:641)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:722)

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

    codice:
    String check[] = request.getParameterValues("intestazione"); // qui trovo le colonne selezionate
    
    if (check.length==0){
    
                    out.println("You must select at least 1 columns");
                }
    e quindi nell'if non mi entra e la mia servlet è completamente vuota.

    quello all'interno del quote lo ottengo quando non seleziono nessuna colonna e nella mia servlet metto
    codice:
    out.println(check.length);

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    è una NullPointerException, parla molto molto chiaro dicendoti che quello che c'è alla riga 44 vale null, io un controllo a not null lo metteri
    RTFM Read That F*** Manual!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    63
    Originariamente inviato da valia
    è una NullPointerException, parla molto molto chiaro dicendoti che quello che c'è alla riga 44 vale null, io un controllo a not null lo metteri
    non capisco


    la riga 44 è
    codice:
             out.println(check.length);
    se non metto questa riga, ho la pagina bianca.

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    63
    ho messo

    codice:
    if (check==null){
                    out.println("You must select at least 2 columns");
                }//fine if
    ma il risultato è sempre la pagina bianca.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157


    tu richiedi delle cose, ma non controlli se quello che ritorni ha senso per te oppure no.

    codice:
    String check[] = request.getParameterValues("intestazione"); // qui trovo le colonne selezionate
    
    if (check.length==0){
    
                    out.println("You must select at least 1 columns");
                }
    E' corretto, ma intestazione può non esistere tra le request e tu non tratti questo caso.


    codice:
    String check[] = request.getParameterValues("intestazione"); // qui trovo le colonne selezionate
    
    if (check != null && check.length > 0){
    
                 // do your stuff
                }else{
       out.println("You must select at least 1 columns");
    }
    vedi se torni valori validi, se no ti devi fermare.
    Se check vale null, chiamare un metodo su un qualcosa che è null ritorna una NullPointerException
    RTFM Read That F*** Manual!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    63
    codice:
    if (check==null || check.length==0){
                    out.println("You must select at least 2 columns");
                }//fine if
    anche cosi pagina bianca


    edit; lol, il recupero delle colonne l'ho messo nel try della servlet e cosi ho risolto. Grazie mille

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Aggiungere un try per risolvere una NullPointerException non è corretto.
    La NullPointerException è una RunTimeException è in genere è sintomo che qualcosa è stato progettato/pensato male, quindi usare il meccanismo delle eccezioni per catchare questa non è corretto.

    Dopo l'update con il check (e non dentro il try della servlet) fai intera pulizia del web container, rideploya il progetto e dimmi cosa vedi.

    EDIT

    intendo non sintatticamente scorretto, semanticamente scorretto, è come mettere sotto il tappeto la polvere pur di non spazzare!!
    RTFM Read That F*** Manual!!!

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.