多个p:对话框

时间:2016-12-01 16:00:41

标签: primefaces

我使用PrimeFaces 6.现在我有一个页面,我有一个p:dataTable,我希望基于一个动作有多个p:dialog

  1. 添加对话框
  2. 编辑对话框
  3. 进一步信息对话
  4. 使用p:dialog我必须将它们全部包含在我的主页面中。哪会破坏页面的内容。业务逻辑也驻留在主页面的bean中。

    有没有解决方法? 我想有这样的结构

    1. dialogAdd.xhtmldialogAdd.java
    2. dialogEdit.xhtmldialogEdit.java
    3. dialogFurther.xhtmldialogFurther.java
    4. 感谢

1 个答案:

答案 0 :(得分: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。