【问题标题】:How can I open a dialog when the page is opened打开页面时如何打开对话框
【发布时间】:2015-10-16 14:31:18
【问题描述】:

在我们的一个页面中,我们有一个搜索按钮,可以打开一个搜索对话框,以便用户可以搜索并从远程系统导入一些数据。

现在我有了新要求,每次打开页面时都必须显示相同的对话框 - 但只有当页面将用于创建新注册表时,在更新模式下,只有当用户单击按钮。

我已经尝试了一些东西,我可以使用 Primefaces 引擎通过 MB 调用对话框,如下所示:

 RequestContext.getCurrentInstance().execute("dialogArmaBos.show()")

这个命令非常适合按钮的情况,但我可以在页面打开时让它工作。如果我尝试在 PostConstruct 中使用,则不会发生任何事情。

我也尝试了<f:event type="preRenderView" ...<f:metadata ...,但也没有任何变化。

有什么办法吗?

【问题讨论】:

  • JSF 或 PrimeFaces 在这种情况下无济于事,请查看 learn.jquery.com/using-jquery-core/document-ready
  • 就用<p:dialog visible="true">?
  • @Kukeltje 基于你认为我的建议是错误的?建议中没有任何“错误”,它要么符合您的需求,要么不符合您的需求,如果我非常确定这是 OP 正在寻找的内容,我会将其作为答案发布..
  • 是的,你是正确的,PF 有一个可见的属性,我不知道.. 最后不会有帮助是错误的 :) @Kukeltje
  • Peeeaaaaccceeee... ;-) (事后看来,我的陈述有点大胆,不是这个意思)

标签: jsf primefaces dialog


【解决方案1】:

根据神话般的PrimeFaces documentation 有一个可见的属性。引用文档:

visible false Boolean 启用后,对话框默认可见。

因此,只需在该属性中使用 EL 即可使其在页面加载时显示

<p:dialog visible="#{myBean.createMode}"... >

并且在该 bean 中有一个布尔字段,如果处于创建模式,则返回 true。

如果需要,您可以使用客户端 api 显示/隐藏其余部分

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多