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 :

Récuperer ArrayList et HashMap dans page JSP


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2018
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Récuperer ArrayList et HashMap dans page JSP
    Bonjour à tous,

    Dans ma servlet j'ai un objet arraylist qui est composé de plusieurs HashMap
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Map<String,Map<String,Boolean>> generalInfo = new HashMap<String,Map<String,Boolean>>();
    Map<String,Map<String,Boolean>> geoLocation = new HashMap<String,Map<String,Boolean>>();
    ArrayList<Map> displayBlocs = new ArrayList<>();
    displayBlocs.add(generalInfo);
    displayBlocs.add(geoLocation);

    J'ai aussi ajouté l'objet arrayList dans la requête avec comme nom "resultToDisplay"

    Ce que je souhaite faire c'est afficher le contenu des HashMap dans ma page JSP. J'ai tenté le code ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <c:if test="${ !empty resultToDisplay}">           
        <%      
            ArrayList<Map> liste = (ArrayList<Map>)request.getAttribute("resultToDisplay");
            out.println(liste.get(0)); //ceci est un premier test pour récuperer la première Map
        %>
    </c:if>
    Mais j’exécute le code, voici l'erreur qui m'est retourné
    Nom : zf.PNG
Affichages : 692
Taille : 67,8 Ko

    J'avouerai que je ne comprends pas du tout pourquoi il n'arrive pas à entrer de l'arrayList.

    Toute proposition pour m'aider à debogger ceci est la bienvenue... please help!

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    La JSP s'exécute dans la même request que la servlet ?

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2018
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Oui, l’exécution de la servlet redirige à la page jsp

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Redirige ? Avec un response.sendRedirect() donc je suppose. Le souci, c'est qu'un redirect c'est une demande transmise au navigateur de faire une autre requête sur une autre URL...donc forcément, ce n'est pas la même requête. C'est un forward qu'il faut faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.getRequestDispatcher( pathRelativeVersTaResource ).forward(request,response);

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2018
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    désolé je me suis mal exprimée. Comme tu dis elle s’exécute dans la même requête que le servlet

  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2018
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Et pourtant quand je demande à afficher "liste" directement...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ArrayList<Map> liste = (ArrayList<Map>) request.getAttribute("resultToDisplay");
    	out.println(liste);
    ... il m'affiche les données des Map entre crochets

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Si
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ArrayList<Map> liste = (ArrayList<Map>) request.getAttribute("resultToDisplay");
    	out.println(liste);
    n'affiche pas null, alors ce n'est pas out.println(liste.get(0)); qui provoque une NullPointerException mais une autre instruction. Quel est le code de la JSP, celui qui concerne l'exploitation de la variable liste ? Sinon, tu peux tenter de déboguer pour repérer quelle instruction provoque la NullPointerException.

  8. #8
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2018
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    J'ai utilisé de débugger d'éclipse mais n’empêche je ne trouve toujours pas pourquoi le get(int) ne marche pas.

  9. #9
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Non mais get(int) de ArrayList fonctionne très bien. Mais si la variable sur laquelle get est invoquée contient null, on obtient forcément une NullPointerException. Il y a forcément une explication logique à cette NullPointerException. Le mode debug devrait te permettre de déterminer si c'est bien sur la ligne que tu penses qu'il y a une NullPointerException. Ce que tu peux faire aussi, c'est chercher le fichier checkopt_jsp.java (dans le dossier temporaire, work par exemple tous tomcat) et nous le montrer (l'erreur est en ligne 322, si tu n'as pas modifié le code par rapport à la stacktrace que tu montres). Ce qu'on voit dans la stacktrace d'ailleurs, ce n'est pas un forward mais un passage par un filtre. Le souci est peut-être par rapport à ce filtre. Tu as paramétré des filtres perso ?

  10. #10
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2018
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Bonjour joel.drigo

    Non je n'ai paramétré aucun filtre.

    J'ai trouvé la solution... il me suffisait de faire un cast de mon objet pour le récupérer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <c:if test="${ !empty resultToDisplay}">
    	<%
                    ArrayList<Map> liste = (ArrayList<Map>) request.getAttribute("resultToDisplay");
                    out.println((Map<String,String>)liste.get(0)); //ceci est un premier test pour récuperer la première Map
            %>
    </c:if>
    Merci beaucoup pour ton aide

Discussions similaires

  1. Réponses: 9
    Dernier message: 13/11/2006, 13h59
  2. swing jtree et tabpane dans page jsp
    Par david06600 dans le forum Struts 1
    Réponses: 3
    Dernier message: 25/08/2006, 08h58
  3. [PHP-JS] Afficher code PHP dans page JSP
    Par metatron dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/08/2006, 09h36
  4. Inserer code PHP dans page JSP
    Par metatron dans le forum Servlets/JSP
    Réponses: 22
    Dernier message: 01/08/2006, 13h51
  5. [JSP][Struts][Debutant]Probleme de liens dans pages JSP
    Par bluefox_du_974 dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 08/12/2004, 16h17

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