我想知道是否可以调用仅创建一次的对话框的多个实例。
例如:
我有这个代码创建对话框:
<p:dialog id="dlgFormUsu" header="Dialog User" maximizable="true"
minimizable="true" hideEffect="fade" widgetVar="dlgFormUsu"
resizable="false" closable="true" draggable="true">
当我致电dlgFormUsu.show()
时,它会正常打开,但如果我再次尝试打开它,则无法显示任何内容。
无论如何要打开两次相同的对话框?
答案 0 :(得分:2)
不,对话框只有一个实例,显示或隐藏。调用show()和hide()分别显示或隐藏对话框。
如果您需要多个对话框实例,请在ui:composition
内声明对话框并使用ui:include
多次实例化:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:fn="http://java.sun.com/jsp/jstl/functions"
xmlns:p="http://primefaces.org/ui">
<ui:dialog id="myDialog#{id}" widgetVar="myDialog_widget#{id}" .... />
</ui:composition>
<ui:include src="mydialog.xhtml">
<ui:param name="id" value="first" />
</ui:include>
<ui:include src="mydialog.xhtml">
<ui:param name="id" value="second" />
</ui:include>