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
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);  
    }  
}
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
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>
maintenant c'est au niveau de cette page Menu.jsf que j’aimerais bien avoir un message
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>