bonjour,
j'ai un formulaire de login en jsp :
et une classe LoginAction :Code:
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.xmlCode:
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 JDOMCode:
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:
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:
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:
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:
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