在jsf中创建动态确认对话框

时间:2014-11-20 02:32:01

标签: java jsf

我需要创建动态确认对话框。我有一个动态创建的CommandButton。所以当按下时,确认对话将显示。我不知道如何在CommandButton上显示它。

1 个答案:

答案 0 :(得分:2)

你的按钮应该是这样的:

<p:commandLink oncomplete="confirmation.show()"  
  action="#{campagneComtroller.messageDeleteCam1(c)}" 
  update=":frmDlgDel:confirmDialog">
  <p:graphicImage value="/image/delete.png" height="20" width="20"/>
</p:commandLink>

您的confirmDialog应该是这样的:

<h:form id="frmDlgDel">
            <p:confirmDialog id="confirmDialog" 
                    message="#{campagneComtroller.messageDeleteCam1}"  
                       header="#{bundles.messages['message.SupprimerGeneral']}" severity="alert" widgetVar="confirmation">  
               <p:commandButton id="confirm" value="#{bundles.messages['message.OuiSure']}" oncomplete="confirmation.hide()" update=":formCam :frmDlgDel"
                        actionListener="#{campagneComtroller.deleteCam1()}" />  
               <p:commandButton id="decline" value="NonPasEncore" onclick="confirmation.hide()" type="button" />   
           </p:confirmDialog>
        </h:form>

你的java代码应该是这样的:

   public void messageDeleteCam1(Cam cam) {
conditionVerified = true; // ... you can put here your treatments
            if (conditionVerified) {
                messageDeleteCam1 = "this cam is bla bla bla ";
            } else {
                messageDeleteCam1 = "are you sure to delete this cam ?";
            }
        }

NB :我们在这里使用了 oncomplete + update ,这就是为什么我们可以在java之后看到confirmDialog的区别治疗。