Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Re-Rendering elementi pagina JSF

    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.

  2. #2
    Nessuno ne ha un'idea? Per chi può interessare io ho trovato una soluzione differente al problema:

    la prima consiste nel modificare il codice in questo modo:
    <h:selectOneMenu id="temp" style="visibility : visible">
    <f:selectItem .../>
    <f:selectItem .../>
    </h:selectOneMenu>

    public void controlla(FacesContext facesContext, UIComponent uIComponent, Object object) throws ValidatorException {
    if (Integer.getInteger(object.toString()) == 1)
    getTemp().setStyle("visibility : hidden");
    else
    getTemp().setStyle("visibility : visible");
    }

    modificando lo stile e rendendo "temp" nuovamente. getTemp() restituisce il componente "temp"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.