Invocar dialogo desde codigo

En varias ocasiones necesitamos invocar un dialogo desde un controller en base a determinadas condiciones.

Definimos un dialogo en la pagina xhtml y lo invocamos desde el controller.

xhtml

Definir un <p:confirmDialog> y colocar widgetVar colocar el nombre sessionDialog. widgetVar="sessionDialog"

  <div class="form-group row">
      <div class="col-xs-4">
         <p:commandButton value="#{app['button.login']}"  class="btnn btnn-primary login-btn"
                    action="#{loginController.doLogin()}" update=":form:growl"/>
       </div>

  </div>



     <p:confirmDialog widgetVar="sessionDialog" closable="false" global="true" showEffect="fade" hideEffect="fade"
                  message="Hay una sesion creada en este navegador se procedera a cerrarla.">
     <p:commandButton value="Cerrar" oncomplete="PF('sessionDialog').hide();" 
          update=":form" styleClass="ui-confirmdialog-yes"
          action="#{loginController.invalidateCurrentSession()}" />

    </p:confirmDialog>

Controller

Indicar el widgetVar="sessionDialog" que fue definido en el confirmDialog.

RequestContext.getCurrentInstance().execute("PF('sessionDialog').show();");

Last updated