Voir directement à partir de ce post.
Voir directement à partir de ce post.
<%
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <% // Récupération du message d'erreur String erreur = (String) request.getAttribute("message"); // Affichage du message s'il existe if (erreur != null) { %> <strong>Erreur : </strong> <% } %>
Tu es sur de passer dans le doPost() et pas dans le doGet()??
Je suis tenté de dire oui, mais étant débutant je garde une réserve
J'ai fait quelques changements, voici le code :
creerClient.jsp :
A laquelle on accède par la servlet createUser :
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 <%@ page pageEncoding="UTF-8" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Création d'un client</title> <link type="text/css" rel="stylesheet" href="inc/style.css"/> </head> <body> <div> <form method="post" action="/suplink/showUser"> <fieldset> <legend>Register</legend> <label for="emailUser">Email <span class="requis">*</span></label> <input type="email" id="emailUser" name="emailUser" value="" size="20" maxlength="20" /> <br /> <label for="passwordUser">Mot de Passe </label> <input type="password" id="passwordUser" name="passwordUser" value="" size="20" maxlength="20" /> <br /> </fieldset> <input type="submit" value="Valider" /> <input type="reset" value="Remettre à zéro" /> <br/> </form> </div> </body> </html>
L'envoi du formulaire (donc en doPost() ) mène à showUser.jsp :
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 package com.suplink.servlets; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.suplink.beans.User; public class CreateUser extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; @Override public void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String email = request.getParameter("emailUser"); String password = request.getParameter("password"); String message; if ( email.trim().isEmpty() || password.trim().isEmpty() ) { message = "Erreur - Vous n'avez pas rempli tous les champs obligatoires. <br> <a href=\"creerClient.jsp\">Cliquez ici</a> pour accéder au formulaire de création d'un client."; } else { message = "Utilisateur créé avec succès !"; } User user = new User(); user.setEmail(email); request.setAttribute( "user", user ); request.setAttribute( "message", message ); this.getServletContext().getRequestDispatcher("/showUser" ).forward( request, response ); } @Override public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.getServletContext().getRequestDispatcher("/creerClient.jsp" ).forward( request, response ); } }
A laquelle on accède par la servlet showUser :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <%@ page pageEncoding="UTF-8" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Affichage d'un client</title> <link type="text/css" rel="stylesheet" href="inc/style.css" /> </head> <body> <p>${erreur}</p> <p>Email : ${ param.emailUser } </p> </body> </html>
Voilà, j'ai un peu l'impression de m'embrouiller mais j'ai rien trouvé de mieux. Et comme ça ça ne fonctionne toujours pas.
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 package com.suplink.servlets; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ShowUser extends HttpServlet { @Override protected void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String erreur = (String) request.getAttribute("message"); request.setAttribute( "erreur", erreur ); this.getServletContext().getRequestDispatcher("/showUser.jsp" ).forward( request, response ); } }
Personne pour me dire pourquoi je n'arrive pas à récupérer l'attribut ?
Partager