solo - recargar pagina jsf
Cómo utilizar EL en el atributo PrimeFaces oncomplete que se actualiza durante el método de acción (1)
PrimeFaces no lo admite. Cualquier expresión EL en el atributo oncomplete
se evalúa inmediatamente durante la respuesta de representación de ese documento HTML, no durante la ejecución incompleta de la llamada ajax asociada. Básicamente, el código JavaScript generado por el atributo oncomplete
contiene el valor anterior tal como era durante la carga de la página.
Su mejor RequestContext#addCallbackParam()
es usar RequestContext#addCallbackParam()
para agregar una propiedad al objeto args
específico de PrimeFaces que está disponible en el alcance oncomplete
.
RequestContext.getCurrentInstance().addCallbackParam("result", eventResized.getId() == 0);
<p:ajax ... oncomplete="resizeComplete(args.result)" />
Una alternativa es usar RequestContext#execute()
lugar de oncomplete
para instruir a PrimeFaces para que ejecute un fragmento de JavaScript al completar la solicitud ajax.
RequestContext.getCurrentInstance().execute("resizeComplete(" + (eventResized.getId() == 0) + ")");
Este es el código:
<p:ajax event="eventResized" process="@this calendar" listener="#{bean.eventResized}" oncomplete="resizeComplete()"/>
eventReized
invocado por EventResizeBehavior
que se extendió desde AjaxBehaviorEvent
y contiene alguna propiedad. ¿Puedo verificar dentro de <p:ajax....>
llamar su valor y pasar el resultado a oncomplete="resizeComplete(result)"
Algo como eso
<p:ajax event="eventResized" process="@this calendar" listener="#{bean.eventResized}" oncomplete="resizeComplete(#{eventResized.id == 0})"/>