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 :

Afficher avec EL et collection


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Décembre 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 70
    Par défaut Afficher avec EL et collection
    Bonsoir/Bonjour,
    Je veux afficher sur la page panier.jsp avec Les EL le résultat d'une collection (listeProduits qui est déja remplit).Voici mon morceau de code que j'ai écrit sur la servlet.Que doit je écrire sur la page panier.jsp alors ??
    Merci beaucoup.
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
    		PrintWriter pw = response.getWriter();
    		HttpSession session = request.getSession();
     
    		List<String> listeProduits = (List<String>) session.getAttribute("produits");
     
        if (listeProduits == null) {
    	listeProduits = new ArrayList<String>();
    	session.setAttribute("produits", listeProduits);
         }
       pw.print(session.getId() + "<br/>");
     
       if (request.getParameter("action").equalsIgnoreCase("ajouter")) {
    	   listeProduits.add(request.getParameter("produit"));
    		pw.print("Produit ajouté avec succés");
     
       }else{
     
    	for (String prod : listeProduits) {
    		pw.println("<li>" + prod + "</li>");
     
    	}
    	request.setAttribute("pan",listeProduits);
    	RequestDispatcher dispatch = request
    	.getRequestDispatcher("/panier.jsp");
       dispatch.forward(request, response);
       }
     
    	}

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Mai 2010
    Messages : 104
    Par défaut
    Salut,

    Je te conseille de ne pas adopter la technique (dépassée et plutôt sale) de générer ton code html directement depuis ta servlet. C'est d'ailleurs tout l'intérêt d'utiliser une JSP.

    Voici le cheminement que je te conseille de suivre :

    1) requete GET sur l'url-pattern de ta servlet
    2) on rentre dans le doGet().
    3) tu récupères ta liste depuis ta session (comme tu as fait), tu fais toute ta logique métier dessus (vérification, ajout...)
    4) une fois ta liste validée, tu mets à jour ta session (avec un session.setAttribute() ), l'ancienne liste sera remplacée
    5) tu appelles ta jsp avec RequestDispatcher

    6) dans ta page jsp, c'est ici que tu vas écrire ton code html, tes EL et tes tags JSTL (JSTL et EL vont ensembles), tu auras une balise jstl de type foreach :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <c:forEach items="${sessionScope['nomdetalistedanstasession']}" var="element">
       <c:out value="${element.titre}"/>
       <c:out value="${element.prix}"/>
       <c:out value="${element.category}"/>
    </c:forEach>
    NB: A vérifier la syntaxe de sessionScope, de tête ça doit y ressembler

    EDIT: Je remarque qu'il ne s'agit que d'une liste de String, c'est encore plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <c:forEach items="${sessionScope['nomdetalistedanstasession']}" var="element">
       <c:out value="${element}"/>
    </c:forEach>
    Je te laisse le soin d'organiser cela dans un tableau par exemple.
    N'oublie pas d'ajouter l'import de la librairie JSTL en haut de ta page jsp pour pouvoir utiliser ces balises :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    Plus d'infos sur JSTL : ICI

    En espérant t'avoir aidé!

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/12/2006, 17h36
  2. Réponses: 5
    Dernier message: 22/06/2006, 17h19
  3. Afficher avec DBMS_OUTPUT
    Par fx2024 dans le forum Oracle
    Réponses: 1
    Dernier message: 10/04/2006, 21h53
  4. [Servlet]pdf sur le disque, l'afficher avec une servlet
    Par canou94 dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 08/12/2005, 15h11
  5. Réponses: 4
    Dernier message: 04/03/2005, 11h56

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