jsf - <p:dialog>的呈现属性和可见属性之间的区别

标签 jsf primefaces

我在项目中使用PrimeFaces 3.2。我想知道设置<p:dialog>的呈现属性与设置visible属性之间有什么区别。什么时候应该使用这些属性之一?

最佳答案

rendered属性是服务器端,而visible属性是客户端。 rendered属性告诉JSF是否应生成对话框的HTML表示形式。 visible属性告诉HTML / CSS / JS是否应在浏览器页面加载时立即显示对话框。

如果未呈现对话框,那么您将无法通过例如JavaScript dialogWidgetVar.show()来显示它,而无需重新加载页面或以这种方式ajax更新对话框的父组件之一,以便评估对话框的rendered条件到true。同样,如果对话框的呈现方式不仅仅因为没有呈现到最终的HTML输出(可以被JavaScript显示/隐藏),则visible属性也不会起作用。

如果呈现对话框,则默认情况下它是隐藏的。您可以将visible设置为true以强制其在打开页面时立即显示对话框。或者,您可以在某些dialogWidgetVar.show()onclick属性中调用JavaScript oncomplete进行显示。

如果您根本不想渲染对话框,请使用rendered属性,例如,因为在当前请求的页面组合中无论如何都不会使用它。

关于jsf - <p:dialog>的呈现属性和可见属性之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10050669/

相关文章:

user-interface - 页眉中的 Primefaces 按钮

javascript - 使用 p :tabMenu with JavaScript

java - Primefaces 时间表设置开始时间和结束时间

css - 如何从 p :breadCrumb 中删除背景

jsf - 在页面之间发送参数的最佳方式是什么?

spring - 将唯一违规异常传播到 UI 的最佳实践

jsf - p :selectOneMenu does not work

java - Icefaces 1.8.2 中的整页刷新?

java - 有条件需要 a4j 形式的 jsf 验证

css - p :confirmDialog how to change the image and text color