Bonjour à tous,

Je suis débutante en JSF (et nouvelle ici par la même occasion :-)) et j'ai un problème d'affichage avec un outputText.

Je souhaite que si l'utilisateur remplisse un inputText, on affiche un outputText et un selectOneRadio.
Le problème est que cela marche uniquement si je recharge manuellement ma page.

Voici mon code:

Ma page xhtml:
Code html : 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
 
                 <h:form id="profil">
                         <h:outputText  id="teffect1" styleClass="colonne" value="#{messages['content.effectif']}" />
                         <p:inputText id="iteffect1" value="#{effectifBean.efCadre}" validatorMessage="test" >
                             <p:ajax event="change" update=":profil:wrapper" listener="#{effectifBean.efCadre}" process="@form" />
                         </p:inputText>
 
                        <h:panelGroup id="wrapper"> 
 
                            <h:outputText rendered="#{effectifBean.shouldRenderCadre() eq true}" value="#{messages['content.type1']}" /> 
                            <p:selectOneRadio rendered="#{effectifBean.shouldRenderCadre() eq true}" > 
                                <f:selectItem itemLabel="#{messages['content.option1']}" itemValue="1" /> 
                                <f:selectItem itemLabel="#{messages['content.option2']}" itemValue="2" /> 
                                <f:selectItem itemLabel="#{messages['content.option3']}" itemValue="3" /> 
                            </p:selectOneRadio> 
 
                        </h:panelGroup>
 
                    </h:form>

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
 
public class EffectifBean {
 
    private String efCadre;
 
    public String getEfCadre() {
        return efCadre;
    }
    public void setEfCadre(String efCadre) {
        this.efCadre = efCadre;
    }
 
    public boolean shouldRenderCadre(){
        if (efCadre != null && !efCadre.isEmpty() && !efCadre.equals("0")) {
            return true;
        } else return false;
    }
}
Merci à tous pour votre aide.