我在显示“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;
}
}
感谢您的帮助。