primefaces的对话元素不起作用

时间:2013-08-13 09:23:51

标签: jsf primefaces jsf-1.2

我正在尝试使用primefaces的对话框元素,但它无法正常工作。所以我尝试了在primefaces网站提供的相同代码。但该代码也无效。

            <h:panelGrid columns="1" cellpadding="5">
                <p:commandButton id="basic" value="Basic" onclick="PF('dlg1').show();" type="button" />

                <p:commandButton id="modalDialogButton" value="Modal" onclick="PF('dlg2').show();" type="button"/>

                <p:commandButton id="effectsDialogButton" value="Effects" onclick="PF('dlg3').show();" type="button" />
                </h:panelGrid>

                 <p:dialog id="basicDialog" header="Basic Dialog" widgetVar="dlg1" appendToBody="false">
                 <h:outputText value="Resistance to PrimeFaces is futile!" />
                    </p:dialog>

                    <p:dialog id="modalDialog" header="Modal Dialog" widgetVar="dlg2" modal="true" height="100" appendToBody="false">
                        <h:outputText value="This is a Modal Dialog." />
                    </p:dialog>

                    <p:dialog header="Effects" widgetVar="dlg3" showEffect="explode" hideEffect="bounce" height="100" appendToBody="false">
                        <h:outputText value="This dialog has nice effects." />
                    </p:dialog>

这是我页面的标题:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   <html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:p="http://primefaces.org/ui">

2 个答案:

答案 0 :(得分:7)

尝试打开对话框:

<p:dialog id="modalDialog" header="Modal Dialog" widgetVar="dlg2" modal="true" height="100" appendToBody="false">
           <h:outputText value="This is a Modal Dialog." />
</p:dialog>

<p:commandButton id="modalDialogButton" value="Modal" onclick="dlg2.show();" type="button" process="@this" update="@none"/>

请发布您的xhtml文件的标题,并说明您正在使用的PrimeFaces的版本。

以下电话:

PF('dlg2').show(); 

不能与Primefaces v3.5一起使用4.0及以上版本。版本4.0支持

dlg2.show();

dlg2.hide();

但不久,它将在以后的版本中弃用,因此请使用PF('dlg2').show();

答案 1 :(得分:2)

p:commandButton需要在h:form