Bonjour,
Je suis débutant, merci de m'aider. J'ai développé une simple page d'authentification. Si le login et le mot passe sont corrects, je voudrais juste rediriger vers une autre page bienvenue.xhtm sinon rediriger vers une autre page erreur.xhtml. J'ai utilisé postgres comme SGBD et JSF.
Le problème est que c'est toujours redirigé vers erreurs.xhtml
voici mon code:
acceuil.xhtml
Code xml : 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' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html"> <h:head> <title>Facelet Title</title> </h:head> <h:body> <h:form> Login: <h:inputText value="#{bonjourManagedBean.identifiant}"></h:inputText> <br></br> <br></br> Password:<h:inputText value="#{bonjourManagedBean.pwd}"></h:inputText> <br></br> <br></br> <h:commandButton value="Valider" action="#{bonjourManagedBean.validerUtilisateur()}" ></h:commandButton> </h:form> </h:body> </html>
classe BEAN:
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 package Com.fst.beans; import Com.fst.controller.UtilisateurJpaController; import Com.fst.entities.Utilisateur; import javax.inject.Named; import javax.enterprise.context.SessionScoped; import java.io.Serializable; import java.util.logging.Level; import java.util.logging.Logger; import javax.annotation.PostConstruct; import javax.faces.context.FacesContext; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import javax.transaction.UserTransaction; /** * * @author pole */ @Named(value = "bonjourManagedBean") @SessionScoped public class BonjourManagedBean implements Serializable { private UserTransaction utx; private EntityManagerFactory emf; private String identifiant; private String pwd; private UtilisateurJpaController utilisateurJpaController; public String getIdentifiant() { return identifiant; } public void setIdentifiant(String identifiant) { this.identifiant = identifiant; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public BonjourManagedBean() { } @PostConstruct private void init() { try{ emf=Persistence.createEntityManagerFactory("BonjourFSTPU"); utx=(UserTransaction) new InitialContext().lookup("java:comp/UserTransaction"); utilisateurJpaController = new UtilisateurJpaController(utx,emf); } catch(NamingException ex) { Logger.getLogger(BonjourManagedBean.class.getName()).log(Level.SEVERE, null ,ex); } } public void validerUtilisateur() { Utilisateur utilisateur=utilisateurJpaController.findUtilisateur(identifiant); if(utilisateur != null) { FacesContext.getCurrentInstance().getApplication().getNavigationHandler().handleNavigation(FacesContext.getCurrentInstance(), null, "/faces/fst/bienvenue.xhtml?faces-redirect=true"); } else { FacesContext.getCurrentInstance().getApplication().getNavigationHandler().handleNavigation(FacesContext.getCurrentInstance(), null, "/faces/fst/erreur.xhtml?faces-redirect=true"); } } }
Partager