プロジェクトでPrimeFaces3.2を使用しています。 <p:dialog>
の-rendered属性を設定することと-を設定することの違いは何ですか? visible属性。これらの属性のいずれかをいつ使用する必要がありますか?
rendered
属性はサーバー側であり、visible
属性はクライアント側です。 rendered
属性は、JSFがダイアログのHTML表現を生成する必要があるかどうかを示します。 visible
属性は、HTML/CSS/JSがブラウザのページ読み込み時にダイアログをすぐに表示するかどうかを示します。
ダイアログがレンダリングされていない場合、ページをリロードするか、ダイアログの親コンポーネントの1つをそのようにajax更新して、ダイアログのrendered
を作成しない限り、JavaScript dialogWidgetVar.show()
などでダイアログを表示することはできません。条件はtrue
に評価されます。また、JavaScriptで表示/非表示にできる結果のHTML出力に何もレンダリングされないという理由だけでダイアログがレンダリングされない場合、visible
属性は効果がありません。
ダイアログがレンダリングされる場合、デフォルトでは非表示になっています。 visible
をtrue
に設定すると、ページを開いたときにすぐにダイアログを表示するように強制できます。または、JavaScript dialogWidgetVar.show()
をonclick
またはoncomplete
属性で呼び出して表示することもできます。
ダイアログをまったくレンダリングしたくない場合、たとえば、現在要求されているページ構成では使用されないため、rendered
属性を使用します。
これらの属性の ドキュメント によると、セクション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]