如何在单个页面上创建多个p:确认对话框

Tar*_*tel 0 jsf primefaces jsf-2

我需要使用Primefaces在单个XHTML页面上请求两种不同类型的确认对话框.Primefaces展示中的当前示例非常基本.以下是我的基本示例:

<h:form id="mydatatableform"> 
<p:dataTable ... />
    <p:column ... headerText="Column A Data">
        <h:outputText ... />
    </p:column>
    <p:column ... headerText="Acknowledge Docs">
        <p:commandButton value="Acknowledge" ...
            <p:confirm ajax="true" header="Confrimation" message="Do Acknowledge you have received the docs?"/>
        </p:commandButton>
    </p:column>
    <p:column ... headerText="Accept or Deny">
        <p:commandButton value="Accept or Deny" ...
            <p:confirm ajax="true" header="Confrimation" message="Do you Accept or Deny the proposal?"/>
        </p:commandButton>
    </p:column>
</p:dataTable>
</h:form>
<p:confirmDialog id="yesno" global="true">
    <h:form>
        <p:commandButton value="Yes" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
        <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
    </h:form>
</p:confirmDialog>
Run Code Online (Sandbox Code Playgroud)

好消息是这个工作得很好.

不幸的是,对于Accept或Deny问题的对话框中的选项,用户不希望是否.他们希望在对话框中接受或拒绝.

我找不到任何关于如何使用两个不同的confirmDialog选项或从一个或另一个中选择的方法的好例子.

理想情况下,第二个confrimDialog看起来像这样:

<p:confirmDialog id="acceptdeny" global="true">
    <h:form>
        <p:commandButton value="Accept" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
        <p:commandButton value="Deny" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
    </h:form>
</p:confirmDialog>
Run Code Online (Sandbox Code Playgroud)

我确信我需要删除global = true并以某种方式在每个p:confirm标签中引用每个confirmDialog分隔但是我找不到一个很好的例子来做这个,正如我所说Primefaces展示文档在这一点上不是很详细.

有什么建议?

klo*_*log 7

请在此处查看PF文档的第120页:用户指南5.2

因此<p:confirm>,您将显示()相关的确认对话框,而不是在示例的命令按钮中引用.

以下是我所指的文档的摘录.

<h:form>
  <p:commandButton type="button" onclick="PF('cd').show()" />
  <p:confirmDialog message="Are you sure about destroying the world?"
     header="Initiating destroy process" severity="alert"
     widgetVar="cd">
     <p:commandButton value="Yes Sure" actionListener="#{buttonBean.destroyWorld}"
       update="messages" oncomplete="PF('cd').hide()"/>
     <p:commandButton value="Not Yet" onclick="PF('cd').hide();" type="button" />
  </p:confirmDialog>
</h:form>
Run Code Online (Sandbox Code Playgroud)