17

プロジェクトで PrimeFaces 3.2 を使用しています。のレンダリングされた属性を<p:dialog>設定することと、目に見える属性を設定することの違いは何ですか。これらの属性のいずれかをいつ使用する必要がありますか?

4

2 に答える 2

32

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

dialogWidgetVar.show()ダイアログがレンダリングされない場合、ページをリロードするか、ダイアログの親コンポーネントの 1 つを ajax 更新しない限り、たとえば JavaScript でダイアログを表示することはできず、ダイアログのrendered条件がtrue. また、visibleJavaScript で表示/非表示にできる結果の HTML 出力に何もレンダリングされないという理由だけで、ダイアログがレンダリングされない場合、属性は効果がありません。

ダイアログがレンダリングされる場合、デフォルトで非表示になります。ページが開かれるたびに、すぐにダイアログを表示するように強制するようにvisible設定できます。または、一部または属性でtrueJavaScript を呼び出して表示することもできます。dialogWidgetVar.show()onclickoncomplete

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

于 2012-04-07T01:21:11.910 に答える
2

これらの属性のドキュメントによると、セクション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]
于 2012-04-07T00:34:29.383 に答える