Is it possible to disable f:event type=“preRenderView” listener on postback?

前端 未结 1 1516
一整个雨季
一整个雨季 2020-11-30 06:38

Is it possible to \"disable\" triggering of this action when doing postback?


    

        
相关标签:
1条回答
  • 2020-11-30 07:41

    That's not possible with <f:event>. You need to manually check FacesContext#isPostback() inside the listener method.

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

    In the upcoming JSF 2.2 <f:viewAction> tag, which is supposed to replace this <f:event type="preRenderView"> "workaround", it will however be possible with the onPostback attribute:

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

    Snapshot releases of JSF 2.2 are already available.

    See also:

    • What's new in JSF 2.2?
    0 讨论(0)
提交回复
热议问题