probleme d'intialisation de session struts 2 [Résolu]

Signaler
Messages postés
23
Date d'inscription
samedi 21 janvier 2012
Statut
Membre
Dernière intervention
4 mars 2012
-
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
-
bonjour,
j'ai un probleme de session pour afficher des article a partir la session la premier article et afficher mais lorsque j'ajoute un nouveau article la premier sera écraser donc la session initialiser je ne sais pas pourquoi voila mon code en action et merci de m'aider

public String ajouter( )

{ Map<String , Object> session = ActionContext.getContext().getSession();
float x=Float.valueOf(prix.trim()).floatValue();


listPanier.add(idPanier);
listPanier.add(nom);
listPanier.add(x);
listPanier.add(quantite);

listPanier111.add(listPanier);
session.put("listPanier111", listPanier111);

return SUCCESS;
}

3 réponses

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
295
Bonjour,

Je ne comprend pas d'où sort la variable listPanier111 ?

Je dirait qu'il faut que tu l'initialises avec le contenu de la variable listPanier111 enregistré dans la session
Messages postés
23
Date d'inscription
samedi 21 janvier 2012
Statut
Membre
Dernière intervention
4 mars 2012

merci, Julian il n'a aucune sens issu .
j'arriver a trouver la solution la problème parce que la session ici est un map couple (clés, valeur) et la clés reste la même lorsque j'ajouter un nouveau article .donc seulement la valeur sera change et la premier sera écrase donc il faut ajouter un nouveau clés différent a la 1 er (une autre liste par exemple ou trouver un autre solution pour changer la clé a chaque ajout )
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
295
Oui, il faut que toutes tes variables aient un nom différent. J'ai l'impression que tu utilises mal la session. Ce n'est pas fait pour enregistrer un grand nombre de données : pour cela, utilises une bdd.

Si tu veux créer un panier, il vaut mieux le mettre dans la base de données, l'utilisateur pourra le récupérer lors de sa prochaine connexion et tu n'auras pas ce genre de problème.

Si tu tiens vraiment à le mettre dans la session, tu vas être obligé d'enregistrer une arrayList dans la session.