为什么在回发调用期间调用JSF postAddToView事件侦听器方法?

时间:2016-09-12 10:58:46

标签: jsf

我将postAddtoView事件监听器添加到下面的组件中。我期待着 在创建初始视图期间调用orderView.populateForm侦听器方法一次(https://javaserverfaces.java.net/nonav/docs/2.2/javadocs/javax/faces/event/PostAddToViewEvent.html )。 对于恢复视图的任何回发调用,我不希望添加新的组件实例来查看。因此没有事件要发射。

但是,正在为每个回发调用调用事件侦听器方法。

      <h:form id="orderForm">
        <p:panelGrid id="attributePanel" columns="#{orderView.numberOfGridColumns}">
            <f:event type="postAddToView" listener="#{orderView.populateForm}" />
        </p:panelGrid>

        <p:commandButton  ajax="true" value="Create" process="@form" update="@form"/>
    </h:form>

OrderView是一个视图范围的CDI bean。据我所知,视图范围bean存储在局部视图状态,默认情况下启用部分视图状态保存。 (BalusC在这里给出了关于问题的一个很好的解释Should PARTIAL_STATE_SAVING be set to false?)为了看到它有效,我禁用/启用了部分状态保存。它没有帮助。

提前致谢。 PS:我在Mojarra 2.2.12 / Glassfish 4.1上运行

0 个答案:

没有答案