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