2012-01-14 7 views
0

#{bean.renderPanel1}がfalseと評価されたときのコードでは、引き続きui:repeatのメソッドが呼び出されます。レンダリングされていないJSFパネル内のメソッドは、まだ呼び出されています

  1. これは正常な動作ですか?
  2. この呼び出しが行われないようにする方法はありますか?例えば、#{bean.renderPanel1}がtrueにUIの方法を評価するときに以下のコードでc:if

<h:panelGroup id="panel1" rendered="#{bean.renderPanel1}">  
    <ui:repeat value="#{bean.panelOneItems}" var="item">         

    </ui:repeat>     
</h:panelGroup> 

答えて

1

h:panelGroup以外ではなく、何かを使用して:リピートはまだありますと呼ばれる。

はい、これは完全に予期される動作です。レンダリングされた属性がfalseと評価された場合にのみ呼び出されます。

+0

私は自分の編集した質問に誤字がありました。私は "#{bean.renderPanel1}"が偽であっても "#{bean.panelOneItems}"が呼び出されたことをテストしました。これは期待されていますか? – Nick

+0

いいえ、JSF impl/versionはあなたが使っているものは何ですか? – BalusC

+0

私はMojarra 2.1.3を使用しています – Nick

関連する問題