Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/03/2014, 13:51
Daniello23
 
Fecha de Ingreso: enero-2014
Mensajes: 17
Antigüedad: 10 años, 3 meses
Puntos: 0
Problemas con el RENDERED en JSF activado por AJAX

Hola muy buenas,

Ando desesperado porque no se por qué no me funciona el RENDERED en JSF que cambio por AJAX.

En la JSF tengo:

Código:
            <f:view>
                <h:form>
                    <p:panel header="#{msgs.createTitlePage}" styleClass="cajamediana">
                        <h:panelGrid columns="2" cellpadding="10">
                            
                            <p:outputLabel value="#{msgs.typeOfObject}"/>
                            <p:selectOneMenu value="#{drdObjectMB.typeOfObjectSelected}">                                                                   
                                <f:selectItem itemValue="#{msgs.selectOriginal}" itemLabel="#{msgs.selectOriginal}"/>
                                <f:selectItem itemValue="#{msgs.selectAdapted}" itemLabel="#{msgs.selectAdapted}"/>
                                <p:ajax event="change" update="fileNameOr,descriptionFile,hasAdaptationText,hasAdaptation"
                                        listener="#{drdObjectMB.updateOutputLabels}"/>  
                            </p:selectOneMenu>

                            <p:outputLabel id="fileNameOr" value="#{drdObjectMB.createNameFileText}"/>
                            <p:inputText value="#{drdObjectMB.fileName}" size="25">
                            </p:inputText>

                            <p:outputLabel id="descriptionFile" value="#{drdObjectMB.descriptionFileText}"/>
                            <p:inputTextarea value="#{drdObjectMB.description}" 
                                             rows="2" cols="25" />

                            <p:outputLabel id="hasAdaptationText" value="#{msgs.createHasAdaptation}" rendered="#{drdObjectMB.hideFields}"/>
                            <p:inputText id="hasAdaptation" value="#{drdObjectMB.hasAdaptation}" rendered="#{drdObjectMB.hideFields}" size="25">
                            </p:inputText>
Con el selectOneMenu consigo cambiar los outputLabel pero no consigo ocultar los outpulabel (id="hasAdaptationText") y inputText (id="hasAdaptation").

La clase java drdObjectMB con la función updateOutputLabels cambia los textos de los outputlabel y el campo boolean hideFields a TRUE y FALSE dependiendo del valos del selectOneMenu.

Código:
    public void updateOutputLabels(){
        
        if (this.typeOfObjectSelected.equals("Objeto original") || this.typeOfObjectSelected.equals("Original Object") ){
            this.typeOfObjectSelected = constantes.Constantes.obTypeOr;
            this.createNameFileText=utilities.Utility.readPropertiesByKey("createNameFileOr");
            this.descriptionFileText=utilities.Utility.readPropertiesByKey("createDescriptionFileOr");
            this.hideFields = true;
        }else if (this.typeOfObjectSelected.equals("Objeto adaptado") || this.typeOfObjectSelected.equals("Adapted Object") ){
            this.typeOfObjectSelected = constantes.Constantes.obTypeAd;
            this.createNameFileText= utilities.Utility.readPropertiesByKey("createNameFileAd");
            this.descriptionFileText=utilities.Utility.readPropertiesByKey("createDescriptionFileAd");  
            this.hideFields = false;
        }
    }
Pero no se ocultan los campos.
Por qué puede ser?!?!