Bonjour,
Je suis débutante en Struts 2 et je veux créer à travers le formulaire de connexion une session pour l'utilisateur qui s'est connecté mais avec ce que j'ai essayé de faire ,je vois que ça marche pas .

Voilà ce que j'ai essayé de faire :dans le package ACTION ,j'ai créé deux méthodes authentification là où j'introduits la notion de la session et la méthode deconnexion pour fermer la session :
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
 
public String authentification() {
 
	String testSUCCESS = null;
	List<Candidat> listCandidat = ServiceCandidat.getInstance().allCandidats();
 
	for (Iterator<Candidat> iterator = listCandidat.iterator(); iterator
			.hasNext();) {
		Candidat candidatBd = (Candidat) iterator.next();
 
		if ((candidatBd != null)
				&& candidatBd.getMail().equals(candidat.getMail())
				&& candidatBd.getPassword().equals(candidat.getPassword())) {
			testSUCCESS = "success";
			break;
		} else {
			testSUCCESS = "ERROR";
		}
	}
 
	if (testSUCCESS.equals("success")) {
 
 
		//******************** Gestion de session********************************//
		// on récupère la session courante
		Map session = ActionContext.getContext().getSession();
 
		// on renseigne la session
		session.put("verifierAuthentification", "true");
		session.put("nomUtilisateur", candidat.getLogin());
 
 
 
 
 
 
		System.out.println("Vous êtes loggué avec succès enjoy :)");
		return "success";
	} else {
		addActionError("Votre email ou mot de passe est incorrect");
		return ERROR;
	}
 
}
 
 
 
 
public String deconnexionCandidat() {
	// on récupère la session courante
	Map session = ActionContext.getContext().getSession();	
	session.clear();		
	return "success";
}
dans le fichier struts.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
 
		<action name="authen"		
				class="ma.mef.gestionConcours.action.ActionCandidat" method="authen">
			<result name="success">candidat.jsp</result>
			<result name="input">candlogin.jsp</result>
		<result name="error">candlogin.jsp</result>
		</action>
 
 
 
 
 
		<action name="deconnexion"					
				class="ma.mef.gestionConcours.action.ActionCandidat" method="deconnexion">
			<result name="success">candlogin.jsp</result>
		</action>

la page où il y a le formulaire d'authentification est la page candlogin.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
	<div id="titleForm"> AUTHENTIFICATION</div><br/>
 
		<s:actionerror />
		<s:form name="login"    action="authen"  >
		<table >
				<tr >
					<s:textfield label="Adresse email"    name="candidat.mail"   id ="candidat.mail"  />
 
    			</tr>
 
    			<tr>
					<s:password  label="Password " name="candidat.password"   id ="candidat.password"/>
    			</tr>
    			<tr>
    					<td colspan="2"><div align="right">
							<input type="submit" value="Me connecter à mon espace candidat" class="bouton"/>
						</div></td>
				</tr>
		</table>
		</s:form>
après la réussite de l'authentification,ça aboutit à la page candidat.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
	<div class="GlobalPage">
	
		<%@ include file="includes/header.jsp"%>
		<h1 align=center>Espace Candidat</h1>
		<s:if test="#session.verifierAuthentification = 'true'">
		   <h3>Bienvenue : 
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<span><s:property	value="#session.nomUtilisateur" /></span>
</h3> </s:if> <br/><br/><br/> <%@ include file="includes/menuvertcand.jsp"%> <div class="MainPage"> <br /> <br /> </div> </div>
dans cette page ,il y a un petit message qui s'affiche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<span><s:property	value="#session.nomUtilisateur" /></span>
Cependant ,quand l'authentification a réussi la valeur #session.nomUtilisateur
est null
ça m'affiche juste Bienvenue avec un espace blanc


je veux noter juste que je travaille avec la classe Candidat qui a 4 attributs:
id,mail,login,password

quand je fais l'authentification ,c'est avec le mail et le password ;mais ce que je veux c'est récupérer le login correspondant au mail et password donc dans mon cas ça me renvoie null.

s'il vous plaît aidez moi.