Bonjour,
J'essaye de modifier un élément de mon formulaire, mais je n'y arrive vraiment pas. Je ne récupère pas l'enregistrement modifié dans mon formulaire d'aperçu et encore moins dans ma database.
Donc ici, ci-dessous j'ai un enregistrement
Je souhaite modifier cet enregistrement par ceci
Lorsque je clique sur Update j'obtiens une page vide???
Voici comment fonctionne mon servlet
Code java : 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 public class UserHandler extends HttpServlet { private static String INSERT = "/user.jsp"; private static String Edit = "/edit.jsp"; private static String UserRecord = "/listUser.jsp"; private UserDao dao; public UserHandler() { super(); dao = new UserDao(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String forward=""; String action = request.getParameter("action"); if (action.equalsIgnoreCase("delete")) { int userId = Integer.parseInt(request.getParameter("userId")); dao.removeUser(userId); forward = UserRecord; request.setAttribute("users", dao.getAllUsers()); } else if (action.equalsIgnoreCase("editform")){ forward = Edit; } else if (action.equalsIgnoreCase("edit")){ int userId = Integer.parseInt(request.getParameter("userId")); UserBean user = dao.getUserById(userId); request.setAttribute("user", user); } else if (action.equalsIgnoreCase("listUser")){ forward = UserRecord; request.setAttribute("users", dao.getAllUsers()); } else { forward = INSERT; } RequestDispatcher view = request.getRequestDispatcher(forward); view.forward(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String redirect=""; String action = request.getParameter("action"); if(action.equalsIgnoreCase("insert")) { UserBean user = new UserBean(); user.setfName(request.getParameter("firstName")); user.setlName(request.getParameter("lastName")); String userid = request.getParameter("userid"); if(userid == null || userid.isEmpty()) { dao.addUser(user); } else { user.setUserid(Integer.parseInt(userid)); dao.editUser(user); } RequestDispatcher rd = request.getRequestDispatcher(UserRecord); request.setAttribute("users", dao.getAllUsers()); rd.forward(request, response); } } }
Et enfin, voici ma page edit.jsp
Code jsp : 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 <body> <% UserBean user = new UserBean(); %> <% UserDao dao = new UserDao(); %> <form method="POST" action='UserHandler' name="frmEditUser"><input type="hidden" name="action" value="edit" /> <% String uid = request.getParameter("userId"); if (!((uid) == null)) { int id = Integer.parseInt(uid); user = dao.getUserById(id); %> <table> <tr> <td>First Name</td> <td><input type="text" name="firstName" value="<%=user.getfName()%>"/></td> </tr> <tr> <td>Last Name</td> <td><input type="text" name="lastName" value="<%=user.getlName()%>"/></td> </tr> <tr> <td></td> <td><input type="submit" value="Update" /></td> </tr> </table> <% } else out.println("ID Not Found"); %> </form> </body>
Je vous remercie pour votre aide
Partager