2012-04-23 2 views
0

h:panelGroupコンポーネントの中にf:eventという属性があり、rendered="false"属性を持っています。私は、f:eventリスナは、ブロックがレンダリングされていない場合にのみトリガされる必要があります。 私のコードは次のように:f:レンダリングされた= falseのh:panelGroup内でトリガーされたイベント

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

どのように私はそれ以外の場合はこれを正しく実装していますか?

<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ビュー全体がレンダリングされる直前に処理されます。

答えて

3

コンポーネントpreRenderComponentレンダリングを管理するための別のイベントがあります。

preRenderComponentEventは、ビューレンダリング中に、<f:event>を含むコンポーネントがレンダリングされる直前に処理されます。

+0

完璧!どうもありがとうございます!これが 'preRender'ビューとはどのように違うのかも解明できますか? –

関連する問題