slt,
Je travaille avec jsf 2.0 et primefaces 3.2. j'ai un problème avec le composant growl dans mes interfaces graphiques, j'ai suivi des exemples pour le faire mai j'ai pas réussi à le faire fonctionner.

Voila mon code, si quelqu'un peut m'aider à trouver l'erreur ça sera très gentil, quand je clique sur mes boutons en principe les growls s'affichent mai ce n'est pas le cas:

demarrageArretServices.xhtml:

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
 
<h:form id="form">
<p:growl id="gr" showDetail="true" /> 
   <p:panel header="Etat du service Postfix" style="width:375px;height:200px;top:20px;left:20px;position:absolute;border-color:#66CCCC;border-style:solid;border-width:3px;">  
         <p:graphicImage value="/images/stop.png" style="top:4px;left:310px; position: absolute;width:30px;height:30px;"/>    
         <p:graphicImage value="/images/start.png" style="top:4px;left:340px; position: absolute;width:30px;height:30px;"/>
         <h:outputLabel value="Ce service est " style="top:70px;left:20px;position:absolute;font-size:17px;" />
 
         <p:commandLink id="ajax1" update="et1,bt1" actionListener="#{servicesBean.consulterEtatPostfix()}" style="top:70px;left:140px;position:absolute;font-size:17px;" >  
              <h:outputText value="actuellement" />  
         </p:commandLink>
         <h:outputText id="et1" value="#{servicesBean.etatPostfix}" style="font-style:italic;font-weight:bold;color:#66CCCC;top:68px;left:260px;position:absolute;font-size:19px;"/>
 
         <h:outputLabel value="Vous pouvez changer son état en cliquant" style="top:110px;left:20px;position:absolute;font-size:17px;" />
         <h:outputLabel value="sur" style="top:160px;left:20px;position:absolute;font-size:17px;" />
 
         <p:commandButton id="bt1" value="#{servicesBean.boutonPostfix}" actionListener="#{servicesBean.changerEtatPostfix()}" update="gr" style="top:150px;left:70px;position:absolute;font-size:16px;width:100px;height:35px;" />    
 
   </p:panel>
 
 
 
   <p:panel header="Etat du service Cyrus-Imap" style="width:375px;height:200px;top:170px;left:220px;position:absolute;border-color:#66CCCC;border-style:solid;border-width:3px;">
         <p:graphicImage value="/images/stop.png" style="top:4px;left:310px; position: absolute;width:30px;height:30px;"/>    
         <p:graphicImage value="/images/start.png" style="top:4px;left:340px; position: absolute;width:30px;height:30px;"/>
         <h:outputLabel value="Ce service est" style="top:70px;left:20px;position:absolute;font-size:17px;" />
 
          <p:commandLink id="ajax2" update="et2,bt2" actionListener="#{servicesBean.consulterEtatCyrus()}" style="top:70px;left:140px;position:absolute;font-size:17px;" >  
              <h:outputText value="actuellement" />  
         </p:commandLink>
         <h:outputText id="et2" value="#{servicesBean.etatCyrus}" style="font-style:italic;font-weight:bold;color:#66CCCC;top:68px;left:260px;position:absolute;font-size:19px;"/>
 
 
         <h:outputLabel value="Vous pouvez changer son état en cliquant" style="top:110px;left:20px;position:absolute;font-size:17px;" />
         <h:outputLabel value="sur" style="top:160px;left:20px;position:absolute;font-size:17px;" />
 
         <p:commandButton id="bt2" value="#{servicesBean.boutonCyrus}" actionListener="#{servicesBean.changerEtatCyrus()}" update="gr" style="top:150px;left:70px;position:absolute;font-size:16px;width:100px;height:35px;" />    
   </p:panel>
        </h:form>
ServicesBean.java:

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
 
import javax.faces.application.FacesMessage;  
import javax.faces.context.FacesContext;
 
public class ServicesBean {
public void changerEtatPostfix ()
    {
 
        if (boutonPostfix.equals("arrêter"))
        {
            executerCommande ("rcpostfix stop");
            FacesMessage msg = new FacesMessage("Succès", "Postfix est arrêté ");    
            FacesContext.getCurrentInstance().addMessage(null, msg);
        }
        else
        {   
            executerCommande ("rcpostfix start");
            FacesMessage msg = new FacesMessage("Succès", "Postfix est démarré");    
            FacesContext.getCurrentInstance().addMessage(null, msg );
        }
    }
public void changerEtatCyrus ()
    {
 
        if (boutonCyrus.equals("arrêter"))
        {
            executerCommande ("rccyrus stop");
            FacesMessage msg = new FacesMessage("Succès", "Cyrus-IMAP est arrêté ");    
            FacesContext.getCurrentInstance().addMessage(null, msg);
        }
 
        else
        {
            executerCommande ("rccyrus start");
            FacesMessage msg = new FacesMessage("Succès", "Cyrus-IMAP est démarré");    
            FacesContext.getCurrentInstance().addMessage(null, msg);
        }
    }}  }