IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Servlet : les paramètres


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2009
    Messages : 22
    Par défaut Servlet : les paramètres
    Bonjour tout le monde,

    J'ai un URL http://10.10.20.20:8080/ACCES?para1=...a2&para3=data3

    Le dernier paramètre est optionnel. Je voudrais faire du traitement différemment selon sa présence. J'ai le code ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    String p1= req.getParameter("para1");
    String p2 = req.getParameter("para2");
    String p3 = req.getParameter("para3");
     
    if(type.equals("type1"))
    {
            methode1();
    }
    else if(type.equals("type2"))
    {
            methode(2);
    }else if(type==null)
    {
          methode3();
                    }
    Ca marche bien avec les deux premiers cas, mais quand le troisième paramètre est absent http://10.10.20.20:8080/ACCES?para1=data1&para2=data2 J'ai une exception java.lang.NullPointerException

    Comment je pourrai faire mon traitement quand il n'y a que deux paramètres ?

    Merci à toutes et tous.

    Renarde @Nantes

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    On ne vois pas tous le code, mais je suppose que l'objet type est null dans le troisième cas, pour ce là, un conseil quand tu utilise equals vaut mieux faire comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if("type1".equals(type))
    au lieu de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(type.equals("type1"))

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2009
    Messages : 22
    Par défaut
    Merci pour ta reponse. En fait je me suis mal exprimée : dans mon code, le type devrait être mon 3ième paramètre "p3". Et quand l'url ne contient que deux paramètres, p3 est null mais la ligne "if(p3==null)" me donne l'erreur java.lang.NullPointerException.

    Je peux faire "type1".equals(p3)" pour les premiers deux cas, mais le 3ième ne marche pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    String p1= req.getParameter("para1");
    String p2 = req.getParameter("para2");
    String p3 = req.getParameter("para3");
     
    if(p3.equals("type1"))
    {
            methode1();
    }
    else if(p3.equals("type2"))
    {
            methode2();
    }else if(p3==null)
    {
          methode3();
    }

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    vérifie la ligne de l'exception, si tu garde



    ne génère pas de NullPointerException donc le problème n'est pas là..

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2009
    Messages : 22
    Par défaut
    Citation Envoyé par Sniper37 Voir le message
    vérifie la ligne de l'exception, si tu garde



    ne génère pas de NullPointerException donc le problème n'est pas là..

    Quand je fais http://10.10.20.20:8080/ACCES?para1=data1&para2=data2 dans mon log il a bien "p3=null", donc je ne comprends pas pourquoi "null==null" qui ne marche pas...

    Merci again !

  6. #6
    Membre chevronné
    Avatar de link256
    Profil pro
    Développeur Java
    Inscrit en
    Février 2003
    Messages
    596
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2003
    Messages : 596
    Par défaut
    tu dois faire un double test.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if((p3!=null)&&(!p3.equals("")))
    {
          methode3();
    }

  7. #7
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Citation Envoyé par renarde Voir le message
    Quand je fais http://10.10.20.20:8080/ACCES?para1=data1&para2=data2 dans mon log il a bien "p3=null", donc je ne comprends pas pourquoi "null==null" qui ne marche pas...

    Merci again !

    Donne nous le code exacte, juste un conseil de bonne pratique
    faut toujours faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if("chaine".equals(variable)) {
     
    // jamais de NullPointerException, même lorsque variable==null 
    }
    Ensuite si tu fais un main de base pour tester

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(null == null);
    le résultat serait true et pas d'exception donc :

    String p1 = null;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if(p1==null){
     
    }
    ne génère jamais de NullpointerException, peu etre l'exception est génère dans l'une des méthode.

    NB: Cette exception est simple à corriger, avec Eclipse, faut lire bien la trace de l'exception et la cause de l'exception, tu trouvera même un lien sur la ligne source de l'exception.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Récupérer les paramètres d'une routine
    Par nifty dans le forum Assembleur
    Réponses: 5
    Dernier message: 18/04/2005, 14h35
  2. [Débutant] Pb avec les paramètres dans lien dynamique
    Par hackwell69 dans le forum Struts 1
    Réponses: 2
    Dernier message: 21/02/2005, 11h33
  3. Changer les paramètres régionaux
    Par STEF_1 dans le forum Access
    Réponses: 2
    Dernier message: 27/10/2004, 15h39
  4. Problème avec les paramètres date BDE/ODBC Oracle/XP Pro
    Par Bloon dans le forum Bases de données
    Réponses: 3
    Dernier message: 06/10/2004, 10h09
  5. Réponses: 4
    Dernier message: 04/07/2003, 19h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo