显示outputText和selectOneRadio而无需手动重新加载

时间:2013-09-05 12:43:11

标签: ajax jsf jsf-2 primefaces

我在显示“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;
}

}

感谢您的帮助。

0 个答案:

没有答案