jsf 2 - etiquetas - JSF f: orden de ejecución del evento
jsf tutorial español (1)
La especificación no parece indicar explícitamente que en cualquier lugar.
La Application#publishEvent()
API menciona que se obtienen y se procesan como una List
ordenada por naturaleza. Las implementaciones de Mojarra y MyFaces lo confirman al almacenarlas en una CopyOnWriteArrayList
y ArrayList
respectivamente.
Por lo tanto, basados lógicamente en la API y las dos implementaciones, de hecho se ejecutan en orden, si se agregan al mismo componente de UI padre.
Supongamos que tengo múltiples etiquetas f: event para procesar el mismo tipo de evento:
<f:event type="preRenderView" listener="#{myBean.action1()} />
<f:event type="preRenderView" listener="#{myBean.action2()} />
¿El orden de ejecución está garantizado?
Editar:
Para aclarar por qué necesito que se ejecuten en un orden específico, aquí está mi caso de uso:
myBean # action1 es en realidad un setter
myBean # action2 es un método que opera en un campo establecido por action1
En mi opinión, el orden no es confiable, es por eso que simplemente los puse como EL expressions
dentro de mi facelet de esta manera:
<p:ouputPanel>
#{myBean.action1()}
#{myBean.action2()}
</p:ouputPanel>