2017-06-22 1 views
0

En travaillant avec JSF, j'ai une étiquette <ux:confirm>, qui a un bouton de confirmation. Lorsqu'il est cliqué, il déclenche un événement actionListenerEvent. La page et les objets dans le contexte des visages sont mis à jour, mais j'ai un accordéon bootstrap qui n'est pas mis à jour. Une solution serait de rafraîchir la page, ce qui est ma question.Comment rafraîchir la page après l'événement f: actionlistener

<ux:confirm 
    ok="#{message.get('Label.Sim')}" 
    ajax="true" 
    render="form-consulta" 
    cancel="#{message.get('Label.Nao')}" 
    title="#{message.get('Label.Excluir')}" 
    message="#{message.get('Msg.DesejaExcluirRegistro')}" 
    > 

    <f:actionListener 
     for="onOkClick" 
     binding="#{bean.excluir()}" 
     /> 
</ux:confirm> 

Répondre

0

Ok, résolu en ajoutant simplement une fonction JavaScript sur l'événement ajax et appeler aussi un peu une méthode de modèle à l'aide javascript.

<f:ajax 
 
\t render="#{cc.attrs.render}" 
 
\t disabled="#{not cc.attrs.ajax}" 
 
\t onevent="onEventConfirm" 
 
\t />
function onEventConfirm(data) { 
 
    \t \t \t 
 
\t App.ajax.onEvent(App.view.block, null, null, App.view.unblock); 
 
\t 
 
\t var status = data.status; 
 

 
\t switch (status) { 
 
\t 
 
\t \t case "complete": 
 
\t \t \t if(shouldRefreshAfterConfirmation) 
 
\t \t \t \t this.location.reload(); 
 
\t \t \t \t break; 
 
\t \t \t \t 
 
\t } 
 
}