Est-il possible de désactiver f:event type="preRenderView" sur postback?

Est-il possible de "désactiver" le déclenchement de cette action lors de publication?

<f:metadata>
    <f:event listener="#{defaultNewQuestionHandler.init}" type="preRenderView" />
</f:metadata>
13
demandé sur BalusC 2011-12-14 18:24:30

1 réponses

c'est impossible avec <f:event> . Vous devez cocher manuellement FacesContext#isPostback() dans la méthode de l'auditeur.

public void init() {
    if (!FacesContext.getCurrentInstance().isPostback()) {
        // ...
    }
}

dans la prochaine étiquette JSF 2.2 <f:viewAction> , qui est censée remplacer cette <f:event type="preRenderView"> "solution de contournement", il sera cependant possible avec l'attribut onPostback :

<f:viewAction action="#{defaultNewQuestionHandler.init}" onPostback="false" />

les versions instantanées de JSF 2.2 sont déjà disponibles .

voir aussi:

27
répondu BalusC 2011-12-14 14:27:39