我使用PrimeFaces 6.现在我有一个页面,我有一个p:dataTable
,我希望基于一个动作有多个p:dialog
:
使用p:dialog
我必须将它们全部包含在我的主页面中。哪会破坏页面的内容。业务逻辑也驻留在主页面的bean中。
有没有解决方法? 我想有这样的结构
dialogAdd.xhtml
和dialogAdd.java
dialogEdit.xhtml
和dialogEdit.java
dialogFurther.xhtml
和dialogFurther.java
感谢
答案 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。