【问题标题】:JSF show a p:dialog if a parameter is true如果参数为真,JSF 显示 p:dialog
【发布时间】:2013-05-05 23:35:39
【问题描述】:

所以我想做的就是放弃简单。我有一个显示用户列表的页面,例如 adminUsers.jsf,它有一个用户列表。我单击 New User 按钮,模态 p:dialog 与用户表单一起显示。

这很完美,但我想做的是让我的用户点击一个链接,并且 adminUsers.jsf 显示启用了 p:dialog。

所以如果一个用户去 url

http://localhost:8080/pages/adminUser.jsf?create=true

无需单击任何额外按钮即可显示模态对话框。 我想到了一种方法,但也许这不是正确的 JSF 方式。 所以这就是我的想法。 在我的 userAdminController 上捕获“create”,并设置一个

<h:outputText/>

编写一些 javascript 来调用 userPanel.show,使用这样的参数。

rendered="#{usuarioAdminController.create}"

这是正确的做法吗?

【问题讨论】:

  • 我怀疑你的设计是否有用。登录等敏感操作不应由 url 中可见的参数控制。它允许用户进行过多的控制。
  • 这不是登录,在对话框中有一个编辑用户的表单,我已经限制了对 web.xml 上 userAdmin.jsf 的访问。它实际上位于 /pages/admin/userAdmin.jsf 文件夹中,并且 /pages/admin/* 的访问权限有限。我正在使用其他形式,用户案例只是一个例子。谢谢

标签: java jsf-2 primefaces


【解决方案1】:

你可以像这样直接将value请求参数绑定到对话框的visible属性:

<p:dialog visible="#{param.create}"/>

【讨论】:

    猜你喜欢
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    • 2015-11-05
    • 1970-01-01
    相关资源
    最近更新 更多