2012-04-07 13 views
15

私は自分のプロジェクトでPrimeFaces 3.2を使用しています。私は見える属性を設定することに対するとして<p:dialog>のレンダリング属性を設定するとの違いは何か知りたいと思いました。これらの属性のどちらを使用する必要がありますか?レンダリングと可視属性の違い<p:dialog>

答えて

27

rendered属性は、サーバー側で、visible属性は、クライアント側です。 rendered属性は、JSFがダイアログのHTML表現を生成するかどうかを示します。 visible属性は、HTML/CSS/JSがブラウザのページの読み込み時にすぐにダイアログを表示するかどうかを示します。

ダイアログがレンダリングされない場合は、ダイアログrenderedの条件が評価されるように、ページをリロードしたりダイアログの親コンポーネントの1つを更新したりすることなくJavaScript dialogWidgetVar.show()などで表示することはできません〜true。また、visible属性は、JavaScriptによって表示/非表示になる結果のHTML出力に何も描画されていないため、ダイアログが表示されない場合は効果がありません。

ダイアログがレンダリングされる場合、デフォルトでは非表示になっています。 visibletrueに設定すると、ページを開くたびにダイアログを強制的に表示させることができます。または、一部のonclickまたはoncomplete属性のJavaScript dialogWidgetVar.show()を呼び出して表示することもできます。

ダイアログをレンダリングしたくない場合は、たとえば現在要求されているページの構成で使用されないなどの理由で、rendered属性を使用します。

+0

私はこれらの機能のラインに沿って考えていましたが、それを理解できませんでした。ありがとうございました。それは今意味がある。 –

+0

素敵な説明をありがとう、非常に助けて! – Nikhil

+0

@Nikhil:ようこそ。 – BalusC

2

それらの属性についてdocumentation、セクション3.28によると:

rendered: Boolean value to specify the rendering of the component, when set to 
      false component will not be rendered [default value: TRUE] 
visible: When enabled, dialog is visible by default [default value: FALSE] 
+1

'visible:有効にすると、ダイアログはデフォルトで表示されます[デフォルト値:FALSE]'これは混乱しますo.Oデフォルトでは無効になっていますので、デフォルトでは表示されません。 –

+0

@Shredderは同意しましたが、それはドキュメントからまっすぐです:S –

関連する問題