Bonjour à tous

voilà ce que je veux faire. je veux faire un panier virtuel pour un site d'acaht et le mettre en session de l'utilisateur afin d'afficher son contenu quand celui-ci le souhaite.

j'ai crée l'action struts suivante pour faire des test. quand je clique sur sur un lien j'ajoute la référence du produite via l'action ci-dessous.

mais quand j'affiche le panier il n'y a que le dernier produit ajouté qui s'affiche.
code ajouteraupanier
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
 
public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
         //recuperation de l'identifiant par le envoyer par le GET
         String id = request.getParameter("identifiant");
        // on recupere la session de l'utilisateur
        HttpSession session = request.getSession();
        Panier mon_panier = (Panier) session.getAttribute("mon_panier");
 
        //si l'objet panier n'est pas crée, on crée un, associé a la session
        if (mon_panier == null)
        {
            mon_panier = new Panier();
            //session.setAttribute(session.getId(), mon_panier);
        }
 
        List<Vehicule> m_panier = VehiculeFactory.rechercherVehiculeParId(id);
        request.getAttribute(id);// voir myform comme affichage details
        Vehicule v = new Vehicule(m_panier.get(0).getSerialid(), m_panier.get(0).getMarque(),
                m_panier.get(0).getModele(),m_panier.get(0).getPrix(),
               m_panier.get(0).getCouleur(), m_panier.get(0).getDetails());
 
        session.setAttribute("vehiculesPanier", m_panier);
 
        mon_panier.ajouterLigne(v);
 
        return mapping.findForward(SUCCESS);
    }
code panier
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 
public class Panier implements Serializable {
    private List listesPanier = new ArrayList();
 
    public List getListesPanier() {
        return listesPanier;
    }
 
    public void setListesPanier(List listesPanier) {
        this.listesPanier = listesPanier;
    }
 
    //constructeur
    public Panier()
    {}
 
    public void ajouterLigne(Vehicule v)
    {
        //on rajoute pas au panier une voiture déja ajouter
        Iterator i =  listesPanier.iterator();
        while(i.hasNext())
        {
            LignePanier LaLigne = (LignePanier)i.next();
            if(LaLigne.getV_panier().equals(v))
            {
                return;
            }
        }
        //ajout de la voiture au panier
        listesPanier.add(new LignePanier(v));
 
    }
 
    public void supprimerLigne(Vehicule v)
    {
       Iterator i =  listesPanier.iterator();
        while(i.hasNext())
        {
            LignePanier LaLigne = (LignePanier)i.next();
            if(LaLigne.getV_panier().equals(v))
            {
                i.remove();
                break;
            }
        }
    }
 
    public void viderPanier()
    {
        listesPanier.clear();
    }
 
 
}
code lignepanier
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
 
public class LignePanier implements Serializable {
 
    public Vehicule m_panier;
 
    public LignePanier(Vehicule m_panier) {
        this.m_panier = m_panier;
    }
 
    public Vehicule getV_panier() {
        return m_panier;
    }
 
    public void setV_panier(Vehicule m_panier) {
        this.m_panier = m_panier;
    }
}
merci