slt tt l monde!
voilà je travaille avec struts, sous MyEclipse 5.1 et tomcat 5.0.28;
bon quand j'entre dans une page JSP qui me sert d'afficher ts les utilisateurs(dans le menu de l'utilisateur de type "Admin") à chaque utilisateur j'ajoute 2 liens qui ont pour action ou bien de Supprimer cet utilisateur, ou bien d'éditer les infos relatives à cet utilisateur.
cette dernière option me mène à une autre page JSP userEdit.jsp, ou je liste les infos relatives à l'utilisateur lekel je veux éditer voilà son code:
l'ennui quand je clik sur Save après ke j'ai modifié les infos sur ce même utilisateur la requête essai de modifier les infos non de cet utilisateur mais celles de l'utilisateur de type "Admin",ceci est dû au fait ke le bean:AgentBean contient les infos sur l'Admin et quand j'essai de modofier les infos d1 autre user le "idUser" à pour valeur = la valeur du idUser de l'Admin.
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
55
56
57
58
59
60 <%@ page language="java"%> <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%> <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%> <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %> <html> <head> <link rel="stylesheet" type="text/css" href="css/style.css" /> <title>Edit a User</title> </head> <body> <div id="body_wrapper"> <div id="body"> <div id="all"> <div class="top"></div> <div class="content"> <html:form action="userEdit.do"> <table border="0" align="center" width="50%" height="50%"> <tr> <td>Login : <td/> <td><html:text property="login"/><html:errors property="login"/><br/><td/> <tr/> <tr> <td>Mot de passe : <td/> <td><html:password property="passwd" maxlength="10"/><html:errors property="passwd"/><br/><td/> <tr/> <tr> <td>Tache : <td/> <td><html:select property="tache"> <html:option value="los">Los</html:option> <html:option value="matrissage">Matrissage</html:option> <html:option value="acquisition">Acquisition</html:option> <html:option value="Architecture">Architecture</html:option></html:select> <html:errors property="fonction"/><br/><td/> <tr/> <tr> <td>Email : <td/> <td><html:text property="email"/><html:errors property="email"/><br/><td/> <tr/> <tr> <td colspan="1"> <html:submit>Save</html:submit> </td> </tr> <html:hidden property="idUser" /> </table> <%-- set the parameter for the dispatch action --%> <html:hidden property="do" value="saveUser" /> </html:form> </div> <div class="bottom"></div> </div> </div> </div><div id="end_body"></div> </body> </html>
voilà le code de la méthode update(agentBean){} qui se trouve dans la classe com.monpfe.metier.Agent:
le "rand" reste tjrs = à 0 ki est la valeur du idUser de l'Admin. voilà la méthode saveUser que j'appelle dans la page JSP comme action après avoir éditer les infos d'1 user:
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 void update(AgentBean a){ Sql sql=new Sql(); int rand=a.getIdUser(); Ecriture ecr=new Ecriture(); try{ ecr.ecrire(rand);}catch(IOException e){} if(rand!=0){ String message="update agent set nom_prenom='"+a.getNom_prenom()+"',passwd= '"+a.getPasswd()+"',tache='"+a.getTache()+"',email= '"+a.getEmail()+"' where idUser= "+rand+";"; try{ sql.modifier(message); } catch(SQLException e){ e.printStackTrace(); } sql.fermerConnection(); } }
kk'un sait comment je pourais régler ce prob? merci à tous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public ActionForward saveUser( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){ AgentEditForm agentEditForm=(AgentEditForm) form; com.monpfe.persistance.AgentBean ab=new AgentBean(); com.monpfe.metier.Agent a=new com.monpfe.metier.Agent(); ab=agentEditForm.getAgentBean(); a.update(ab); return mapping.findForward("showList"); }
Partager