bonjour,
j'ai un formulaire de login en jsp :
et une classe LoginAction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@taglib prefix="s" uri="/struts-tags"%> <s:form action="LoginAction" method="post"> <s:textfield name="username" label="Utilisateur" key="username"></s:textfield> <s:password name="password" key="password" label="Mot de passe"></s:password> <s:submit value="Se Connecter"></s:submit> </s:form>
et un fichier xml , login.xml
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96 package beanAction; import java.io.File; import java.io.IOException; import java.util.List; import java.util.Map; import org.apache.struts2.interceptor.SessionAware; import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.JDOMException; import org.jdom2.input.SAXBuilder; import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends ActionSupport implements SessionAware { private static final long serialVersionUID = 1L; private String username; private String password; static Document document; static Element racine; static boolean cnx = false; private Map<String, Object> session; public String execute() throws Exception { // session.put("username",username); // session.put("password", password); SAXBuilder sxb = new SAXBuilder(); try { document = sxb.build(new File( "C:/workspace/GED-1.1/ressources/login.xml")); // document = sxb.build(new // File("http://localhost:8080/exist/rest/db/membres/ListeMembre")); } catch (JDOMException e1) { System.err.println("Fichier xml mal formé"); } catch (IOException e2) { System.err.println("Erreur IO..."); } racine = document.getRootElement(); List list = racine.getChildren("login"); // System.out.println(" list.size() : " + list.size()); for (int i = 0; i < list.size(); i++) { // System.out.println(" i : " + i); Element courant = (Element) list.get(i); if (getUsername().equals(courant.getChildText("username")) && getPassword().equals(courant.getChildText("password"))) { cnx = true; i = list.size(); } else { cnx = false; } } if (cnx) { // System.out.println("SUCCESS"); return SUCCESS; } else { // System.out.println("ERROR"); return ERROR; } } // getters and setters public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public void setSession(Map<String, Object> arg0) { this.session = session; } }
je peux me connecter en verifiant les champs de formulaire avec le fichier login.xml a l'aide de la classe LoginAction et l'api JDOM
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 <?xml version="1.0" encoding="UTF-8"?> <BDD> <login> <username>admin</username> <password>123</password> </login> <login> <username>admin</username> <password>456</password> </login> <login> <username>admin</username> <password>789</password> </login> </BDD>
maintenant je veux faire une session pour mon application
ca veut dire autorisser et blocker certaines pages pour l'admin et aussi pour les utilisateurs.
aussi je veux créer un formulaire d'inscription pour les nouveaux utilisateurs qui veulent s'enregistrer
je doit avoir une formulaire d'inscription comme ce ci :
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 <%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <html> <head> <title>Validation Struts page</title> <s:head /> </head> <body> <s:form action="Register"> <s:textfield key="username" /> <s:password key="password" /> <s:textfield key="email" /> <s:select headerKey="" headerValue="Select Gender" key="gender" list="#{'M':'Male','F':'Female'}" /> <s:textfield key="postalcode" /> <s:submit /> </s:form> </body> </html>
et une classe RegisterAction qui va faire l'inscription
et le fichier struts.xml va contenir l'action suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 package beanAction; import bean.MyRegisterSupport; public class RegisterAction extends MyRegisterSupport{ private static final long serialVersionUID = 1L; public String execute() throws Exception { return SUCCESS; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <action name="Register" class="beanAction.RegisterAction"> <result name="input">./jsp/register.jsp</result> <result type="redirectAction">./jsp/register.jsp</result> </action>
j'ai aissayer tout ca mais il ne marche pas
quand je rempli le formulaire pour l'inscription et je clique sur le bouton
il m'affiche l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 type Rapport d'état message There is no Action mapped for action name register.jsp. description La ressource demandée (There is no Action mapped for action name register.jsp.) n'est pas disponible.
que doit je faire ?
comment faire un formulaire d'inscription avec struts2 ?
j'espère que j'ai bien expliquer ce que je veux faire
merci de votre aide ^_^
aidez moi
Partager