2

属性を持つコンポーネントf:eventの中にあります。ブロックがレンダリングされた場合にのみ f:event リスナーをトリガーする必要があります。次のように私のコード:h:panelGrouprendered="false"

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

そうでなければ、これを正しく実装するにはどうすればよいですか?

4

1 に答える 1

4

コンポーネントのレンダリングを管理する別のイベントがあります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>されます。

于 2012-04-23T09:30:17.727 に答える