session - get et setAttribute [servlet] - Java - Programmation
Marsh Posté le 24-10-2002 à 12:07:58
ben ca devrait marcher donc c'est que tas une erreur à la con quelque part ...
Marsh Posté le 24-10-2002 à 12:16:22
Oui une erreur à la con ...
En fait, c parce que je fais un A monObjetA = new A() a chaque passage dans mon dopost -> résultat : scrouiiitchh j'écrase ... glup
Marsh Posté le 24-10-2002 à 12:26:06
Prince2Lu a écrit a écrit : Oui une erreur à la con ... En fait, c parce que je fais un A monObjetA = new A() a chaque passage dans mon dopost -> résultat : scrouiiitchh j'écrase ... glup |
roo put***
Marsh Posté le 24-10-2002 à 12:29:47
ben quand bien meme
je vois pas le moindre "setValue" sur "monObjetA", je vois donc pas pq il serait modifié
Marsh Posté le 24-10-2002 à 12:37:18
--greg-- a écrit a écrit : ben quand bien meme je vois pas le moindre "setValue" sur "monObjetA", je vois donc pas pq il serait modifié |
il fait un set sur l'objet temporaire qui est une réfénrece vers celui attaché à la session donc ca revient au meme
Marsh Posté le 24-10-2002 à 14:44:26
DarkLord a écrit a écrit : il fait un set sur l'objet temporaire qui est une réfénrece vers celui attaché à la session donc ca revient au meme |
sauf que qd jusqu'a preuve du contraire, qd tu fais un getAttribute d'un session et que tu modif l'objet, l'objet ds la session change pas...
session.getAttribute("truc" ).setMachin("bidule" );
System.out.println(ession.getAttribute("truc" ).getMachin());
t'afficheras l'ancienne valeur
Marsh Posté le 24-10-2002 à 15:00:03
old-pseudo a écrit a écrit : il te suffit de mettre System.out.println(ession.getAttribute("truc" ).getMachin());WHERE: country=AFGHANISTAN |
tiens vla l'autre handicapé.
Ca va blaireau?
Marsh Posté le 24-10-2002 à 11:33:18
Il y a qqchose que je ne comprends pas ...
J'explique :
Je crée un objet (appelons le A) dans ma servlet, méthode doPost
A monObjetA = new A(); //il contient une valeur : String valeur;
//J'ai une session :
HttpSession session = request.getSession(true);
//J'attache monObjetA à la session:
session.setAttribute("A",monObjetA);
puis je forward sur un JSP appelant ce javabean monObjetA.
Je modifie une valeur <input type=text name=valeur value=A.getValue()> dans un formulaire, cette valeur doit modifié monObjetA, je fais un submit et retourne dans ma servlet.
if (boutonSubmit="Modifier" )
//Je récupère mon objet comme ceci
// en effet je ne sais pas à l'avance quel instance est attaché
//à la session mais je sais que c toujours du type A
A ATemp;
ATemp = (A)session.getAttribute("A" );
String maValeur = request.getParameter("valeur" );
ATemp.setValeur(maValeur);
Et la monObjetA n'est pas modifié alors que mon ATemp si ...
Comment faire pour que monObjetA soit modifié ?
session.getAttribute renvoie bien une référence sur monObjetA ?
Je comprends plus la