Ice:inputFile - Nao renderiza os outros componentes

2 respostas
ghzatomic

Pessoal … alguem ai sabe a causa , motivo , razao ou circunstacia de um ice:inputFile quando eu clico no upload … ele nao da “refresh” nos outros componentes … ou seja … ele nao renderiza novamente os outros componentes … por exemplo … quando eu coloco la

<ice:inputFile actionListener="#{uploadWebBean.bEnviarAction}"  />

quando eu clico no upload la … ele nao da o refresh nos outros componentes … alguem sabe um jeito de arrumar issu ai ?

2 Respostas

ghzatomic

AAAAAA socorro !!! ahushaushu

ghzatomic

EEEE depois de enfrentar muitos dragoes … eu consegui hauhau
… eh simples tem 2 maneiras …
1 - se voce nao estiver usando BridgeFacesContext

implementa  Renderable no seu bean ... fica tipo assim
public class UploadBean  implements Renderable

… blz …
ai vc tem q colocar o PersistentFacesState nele …
fica assim …

private PersistentFacesState state;
public PersistentFacesState getState() {
    return state;
}

tem q ser state … pq ele tem q implementar da classe Renderable … .
ai vc tem q criar um renderManager … assim :

private RenderManager renderManager;
public void setRenderManager(RenderManager renderManager) {
   this.renderManager = renderManager;
}
public RenderManager getRenderManager() {
     if (this.renderManager == null){
         this.renderManager = new RenderManager();
     }
     return this.renderManager;
}
public void renderingException(RenderingException renderingException) {
    renderingException.printStackTrace();
}

e no faces-config … vc coloca

<managed-bean>
    <managed-bean-name>uploadBean</managed-bean-name>
    <managed-bean-class>UploadBean</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
    <managed-property>
        <property-name>renderManager</property-name>
        <value>#{renderManager}</value>
    </managed-property>
</managed-bean>
    
<managed-bean>
    <managed-bean-name>renderManager</managed-bean-name>
    <managed-bean-class>
        com.icesoft.faces.async.render.RenderManager
    </managed-bean-class>
    <managed-bean-scope>application</managed-bean-scope>
</managed-bean>

essa eh c vc NAO estiver usando BridgeFacesContext

c vc estiver usando … eh so vc setar

<context-param>
    <param-name>com.icesoft.faces.synchronousUpdate</param-name>
    <param-value>false</param-value>
</context-param>

no seu web.xml … e pronto :stuck_out_tongue:

ai quando vc usa o

<ice:inputFile progressListener="#{uploadBean.progress}" actionListener="#{uploadBean.bEnviarAction}" />
ele renderiza os outros componentes tb :slight_smile:

facil neh … e eu me matando aki hauhauhau … .flw pessoal

Criado 21 de janeiro de 2008
Ultima resposta 31 de jan. de 2008
Respostas 2
Participantes 1