f:在具有rendered = false的h:panelGroup内触发的事件

时间:2012-04-23 07:40:06

标签: java jsf facelets

我在f:event组件中h:panelGroup rendered="false"属性。我希望只有在不以其他方式呈现块时才应触发f:事件侦听器。 我的代码如下:

 <h:panelGroup rendered="false">
      <f:event type="preRenderView" listener="#{listRetriever.retrieveFollowers()}"/>
      <ui:repeat value="#{listRetriever.list}" var="person">
             #{person}<br/>
      </ui:repeat>
 </h:panelGroup>

我如何以其他方式正确实现?

1 个答案:

答案 0 :(得分:3)

还有另一个事件来管理组件呈现preRenderComponent

<h:panelGroup rendered="false">
    <f:event type="preRenderComponent" listener="#{listRetriever.retrieveFollowers()}"/>
    <ui:repeat value="#{listRetriever.list}" var="person">
           #{person}<br/>
    </ui:repeat>
</h:panelGroup>
在呈现整个视图之前处理

preRenderViewEvent

在视图呈现期间处理

preRenderComponentEvent,就在呈现包含<f:event>的组件之前。