Bonjour tout le monde
j'ai tester un exemple de prime faces .une interface d'authentification qui vous redirige vers la page Menu.jfs et qui vous dit welcome +username si authentification réussie sinon vous rester sur la même page.
remarque au niveau de mon bean <p:growl> peut avoir deux cas possible selon le message attaché
soit <p:grwol> avec un message d'erreur de saisie de mon de passe
soit<p:grwol>avec un mesage qui dit welcome +username ce dirnier c'est mon probleme il ne figure pas lorsque je suis rediriger vers l'autre page !!!
vouici mon bean
la page principale login.jsf
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 public class LoginBean { private String username; private String password; 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; } public void login(ActionEvent actionEvent) { RequestContext context = RequestContext.getCurrentInstance(); FacesMessage msg = null; boolean loggedIn = false; if(username != null && username.equals("admin") && password != null && password.equals("admin")) { loggedIn = true; msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Welcome", username); } else { loggedIn = false; msg = new FacesMessage(FacesMessage.SEVERITY_WARN, "Login Error", "Invalid credentials"); } FacesContext.getCurrentInstance().addMessage(null, msg); context.addCallbackParam("loggedIn", loggedIn); } }
maintenant c'est au niveau de cette page Menu.jsf que j’aimerais bien avoir un message
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 <h:head> <script type="text/javascript"> function handleLoginRequest(xhr, status, args) { if(args.validationFailed || !args.loggedIn) { jQuery('#dialog').effect("shake", { times:3 }, 100); } else { dlg.hide(); jQuery('#loginLink').fadeOut(); window.location = "Menu.jsf"; } } </script> </h:head> <h:body> <h:outputLink id="loginLink" value="javascript:void(0)" onclick="dlg.show()" title="login"> <p:graphicImage value="/image/login.png" /> </h:outputLink> <p:growl id="growl" showDetail="true" life="3000" /> <p:dialog id="dialog" header="Login" widgetVar="dlg"> <h:form> <h:panelGrid columns="2" cellpadding="5"> <h:outputLabel for="username" value="Username:" /> <p:inputText value="#{loginBean.username}" id="username" required="true" label="username" /> <h:outputLabel for="password" value="Password:" /> <h:inputSecret value="#{loginBean.password}" id="password" required="true" label="password" /> <f:facet name="footer"> <p:commandButton id="loginButton" value="Login" update=":growl" actionListener="#{loginBean.login}" oncomplete="handleLoginRequest(xhr, status, args)"/> </f:facet> </h:panelGrid> </h:form> </p:dialog> </h:body> </html>
pour dire bonjour au utilisateur + son nom !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <h:head></h:head> <h:body> <h1>Bonjour </h1> <p:growl id="growl" showDetail="true" life="3000" redisplay="true"/> </h:body> </html>
Partager