Sto utilizzando il framework JSF.
In una pagina ho il seguente elementi:
<h:selectOneRadio validator="#{bean.controlla}" >
<f:selectItem id="i_gratuito" itemLabel="A" itemValue="1" />
<f:selectItem id="i_oneroso" itemLabel="B" itemValue="2" />
<rich:ajaxValidator event="onblur" />
<a4j:support event="onblur" reRender="temp"></a4j:support>
</h:selectOneRadio>
<h:selectOneMenu id="temp" rendered="#{bean.rendo}" >
<f:selectItem .../>
<f:selectItem .../>
</h:selectOneMenu>
Alla selezione dei pulsanti radio scatta la chiamata al validatore controlla() che a seconda dell'opzione scelta imposta il valore della variabile "rendo" per mostrare o nascondere l'elemento "temp":
public void controlla(FacesContext facesContext, UIComponent uIComponent, Object object) throws ValidatorException {
rendo = (Integer.getInteger(object.toString()) == 1);
}
Il tutto avviene senza problemi: il validatore viene richiamato correttamente e la variabile "rendo" impostata correttamente. Ma il campo "temp" non viene mostrato e nascosto di conseguenza.
Dove sbaglio?
Grazie.