【问题标题】:Multiple p:dialog多个 p: 对话框
【发布时间】:2016-12-01 16:00:40
【问题描述】:

我使用 PrimeFaces 6。现在我有一个页面,其中有一个 p:dataTable,并且我希望基于一个操作有多个 p:dialogs:

  1. 添加对话框
  2. 编辑对话框
  3. 更多信息对话框

使用p:dialog 我必须将它们全部包含到我的主页中。这将炸毁页面的内容。业务逻辑也驻留在主页的 bean 中。

有什么解决方法吗? 我想要这样的结构

  1. dialogAdd.xhtmldialogAdd.java
  2. dialogEdit.xhtmldialogEdit.java
  3. dialogFurther.xhtmldialogFurther.java

谢谢

【问题讨论】:

  • “我必须将它们全部包含到我的主页中。” ?为什么?我不明白。

标签: primefaces


【解决方案1】:

让我们将您的主页称为 datatable.xhtml。在 datatable.xhtml 中,我会使用 JSF 的 ui:include 标记来包含此页面中的每个对话框代码:

<ui:include src="dialogAdd.xhtml" /
<ui:include src="dialogEdit.xhtml" />
<ui:include src="dialogFurther.xhtml" />

这将允许您将对话框代码保存在单独的 xhtml 页面中。

现在是 java 部分。让我们为数据表 Datatable.java 调用您的支持 bean。在 Datatable.java 中,我会执行以下操作:

public class Datatable{
    private DialogAdd dialogAdd;
    private DialogEdit dialogEdit;
    private DialogFurther dialogFurther;

    /*Any business logic needed for datatable*/

    /*Getters and setters for the above properties*/
}

上面显示的对象(DialogAdd、DialogEdit 和 DialogFurther)将包含每个对话框所需的属性/方法/业务逻辑。

这允许您模块化 xhtml 页面和 java。

【讨论】:

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