Bonjour,
J'ai deux problèmes qui sont différents; mais que je préfère faire en un seul post.
Je développe une application ejb3. Pour cela, j'ai une mage d'identification.

1- Mon premier problème est que je voudrais que lorsqu'un utilisateur entre un login ou mot de passe incorrect, il soit renvoyé sur la même page avec en dessous: "login ou pass incorrect".
Pour cela, je fais dans ma servlet:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if (adm.authentify(login, password)) {
					session.setAttribute("auth",login);
 
 
					request.setAttribute("login", login);
					request.setAttribute("erreur", true);
					request.getRequestDispatcher("menu.jsp").include(request, response);
					return;
				}
				else{
					request.setAttribute("erreur", false);
					request.getRequestDispatcher("accueil.jsp").include(request, response);
					return;
				}
Et dans ma jsp accueil je fait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<%
 boolean ok= (boolean)request.getAttribute("erreur"); 
 if(ok){ 
	 %>
 <FONT color="red">Login ou mot de passe incorrect... </FONT>
<%
}
 %>
Je n'arrive pas à caster erreur en boolean pour faire un teste ensuite.

2- Je veux récupérer dans ma jsp une liste de gens qui se sont inscrits à une tache donnée.
Pour cela, je procèce comme suit:
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
@Override
	public void inscrire(int idTache, String log) {
		Tache t= findTache(idTache);
		List<Specialite> ls= new ArrayList<Specialite>();
		ls=t.getSpecialites();
 
		Query q=em.createQuery("From Participants p WHERE p.login=:login").setParameter("login",log);	
		try { 
			if (q.getSingleResult()!= null) { 
				Participants p=(Participants)q.getSingleResult();
 
				for(Specialite s: ls){
					Specialite sp= new Specialite(p.getSpecialite());
					if(sp==s){
						List<Participants> lp= t.getLeParticipant();
						lp.add(p);
						t.setLeParticipant(lp);
					}
					else{
						System.out.println("Vous n'avez pas la spécialité adéquate pour cette tache; veuillez vous" +
								"inscrire si possible sur un autre projet");
					}
				  }
				} 
			} catch ( javax.persistence.NoResultException NRE) { 
				System.out.println("Aucun participant ne correspond à ce login");
			} 
 
	}
-Quand c'est le cas, ma liste est vide; alors que quand je mets tout simplement le code ci-dessous, tout se passe bien.	
 
	if (q.getSingleResult()!= null) { 
				Participants p=(Participants)q.getSingleResult();
						List<Participants> lp= t.getLeParticipant();
						lp.add(p);
						t.setLeParticipant(lp);
	}
Merci d'avance de votre aide.