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

Spring Java Discussion :

Afficher liste produit sur page JSP


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 77
    Par défaut Afficher liste produit sur page JSP
    Bonjour,

    Je suis débutant en java.
    J'essaye d'afficher une liste de produit dans ma page jsp et ce, depuis mon servlet.
    Mon code est le suivant..

    J'ai crée une class Product :
    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
     
    public class Product {
     
       private int productId;
       private String id_cate;
       private String id_Type;
       private String cpu;
       private String ram;
       private String hdd;
       private String bandwith;
       private double price;
     
        public Product(int productId, String id_cate, String id_Type, String cpu, String ram, String hdd, String bandwith, double price) {
            this.productId = productId;
            this.id_cate = id_cate;
            this.id_Type = id_Type;
            this.cpu = cpu;
            this.ram = ram;
            this.hdd = hdd;
            this.bandwith = bandwith;
            this.price = price;
        }
    + get /set
    Mon servlet est le suivant :

    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
     
    // Initialisation de la liste des produits
            ArrayList<Product> products = new ArrayList();
     
            // Creation d'une liste de produits
            products.add(new Product(1, "Mutualise", "Luxe", "Core i5", "2go ram", "500go", "2mo/s", 12));
            products.add(new Product(2, "Dedie", "Normal", "Core i7", "4go ram", "1to", "1mo/s", 10));
            products.add(new Product(3, "Dedie", "Mini", "Core i3", "2go ram", "500go", "1.5mo/s", 25));
            products.add(new Product(4, "Mutualise", "Normal", "Core i5", "2go ram", "750go", "2mo/s", 5));
            products.add(new Product(5, "Mutualise", "Mini", "Core i3", "2go ram", "500go", "2mo/s", 98));
            products.add(new Product(6, "Dedie", "Luxe", "Core i7", "4go ram", "500go", "2mo/s", 59));
     
            // Utiliser product dans la view Index ?
            request.setAttribute("products", products);
     
            RequestDispatcher view = request.getRequestDispatcher("index.jsp");
            view.forward(request, response);
    ma vue :
    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
    32
    33
    34
    35
    36
    37
     
    <%! ArrayList<Product> products; 
    products = (ArrayList<Product>) request.getAttribute("products"); %>
     
            <h3>Liste de produits</h3></br> </br>
     
            <!-- boucle => un tableau de chaque "Type" -->
            <% for (Product p : products) {%>
     
                <table class="table">
                    <thead>
                        <tr> 
                            <th class="hidden">Id</th>
                            <th>Categorie</th>
                            <th>Type</th>
                            <th>RAM</th>
                            <th>CPU</th>
                            <th>HardDisk</th>
                            <th>BandWith</th>
                            <th>Prix</th>
     
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td class="hidden"> p.getId</td>
                            <td><%= p.getId_cate() %>  </td>
                            <td><%= p.getId_Type() %>  </td>
                            <td><%= p.getRam() %></td>
                            <td><%= p.getCpu() %></td>
                            <td><%= p.getHdd() %></td>
                            <td><%= p.getBandwith() %></td>
                            <td><%= p.getPrice() %></td>
     
                        </tr>       
                    </tbody>
                </table>
    Pouvez-vous me dire si je suis dans le bon ?
    Merci beaucoup de votre aide !

    Bien à vous,
    Arsenik

  2. #2
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 312
    Par défaut
    Bonjour,

    oui tu es dans le bon.....sauf

    qu'il est déconseillé d'introduire du java dans les pages jsp. Il est recommandé d'utiliser les JSTL et EL.

  3. #3
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 77
    Par défaut
    Ah bon ?
    Je ne connais du tout JSLT...
    D'après ce que j'ai vu, je fais un foreach sur ma liste depuis le servlet ?

    Tu ferais ça comment ? :/

    Merci pr ton aide !

  4. #4
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 312
    Par défaut
    Bonjour,

    EL et JSTL sont des moyens qui permettent de ne pas mélanger le code et l'affichage pur afin qu'un designer puisse facilement modifier des page JSP sans forcement connaitre java par exemple.

    JSTL permet d'utiliser des balises un peut comme du xml au lieu des instruction java.

    Par exemple ton code donnerait:

    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
    32
    33
    34
    35
     
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
     
            <h3>Liste de produits</h3></br> </br>
     
            <!-- boucle => un tableau de chaque "Type" -->
            <c:forEach var ="p" item="${products}">
                <table class="table">
                    <thead>
                        <tr> 
                            <th class="hidden">Id</th>
                            <th>Categorie</th>
                            <th>Type</th>
                            <th>RAM</th>
                            <th>CPU</th>
                            <th>HardDisk</th>
                            <th>BandWith</th>
                            <th>Prix</th>
     
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td class="hidden"><c:out value="p.productId"/></td>
                            <td><c:out value="p.id_cate"/></td>
                            <td><c:out value="p.id_Type"/></td>
                            <td><c:out value="p.ram"/></td>
                            <td><c:out value="p.cpu"/></td>
                            <td><c:out value="p.hdd"/></td>
                            <td><c:out value="p.bandwith"/></td>
                            <td><c:out value="p.price"/></td>
                        </tr>       
                    </tbody>
                </table>
           </c:forEach>
    La première ligne peut être supprimée en configurant web.xml.

    Si tu es sur glassfish c'est integré de base,

    Et pour que ça fonctionne sur tomcat, il te faut télécharger un .jar à intégrer dans WEB-INF/lib. tu peux télécharger ici

  5. #5
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 77
    Par défaut
    Ah oui je vois mieux mnt !
    Mon code tourne, j'ai juste du ajouter un "s" a items :-)

    Cependant, aucun de mes produits ne s'affiche...
    Ne faut-il pas faire une références à la liste de produits créer dans le servlet ?

    bien à toi,
    Arsenik

  6. #6
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 77
    Par défaut
    Mon JSTL fonctionne car ceci s'affiche :-)
    <c:out value="JSTL works."></c:out>

Discussions similaires

  1. Caractères accentués remplacés par des '?' sur page JSP (Mysql 5)
    Par nicolaseng dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 01/03/2011, 20h50
  2. Afficher image sur page jsp depuis DB
    Par c-bolo dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 14/12/2009, 18h24
  3. Caractères accentués remplacés par des '?' sur page JSP
    Par nicolaseng dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 25/02/2008, 17h03
  4. [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, 10h36
  5. Afficher popup que sur page d'accueil !!
    Par Chronax dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 04/05/2006, 15h44

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