0

我在显示“outputText”和“selectOneRadio”时遇到问题。

我想要的是:如果用户填写一个 inputText,则会显示一个 outputText 和一个 selectOneRadio。主要问题是它只有在我手动重新加载页面时才有效。

这是我的 xhtml 页面:

                 <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>

还有我的光束:

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;
}

}

谢谢您的帮助。

4

0 回答 0