JSF f: порядок выполнения события

Предположим, у меня есть несколько тегов f: event для обработки одного и того же вида события:

<f:event type="preRenderView" listener="#{myBean.action1()} />
<f:event type="preRenderView" listener="#{myBean.action2()} />

Гарантирован ли порядок исполнения?

Редактировать:
Чтобы выяснить, почему мне нужно, чтобы они выполнялись в определенном порядке, вот мой пример использования:

myBean # action1 на самом деле является сеттером

myBean # action2 - это метод, который работает с полем, установленным action1

На мой взгляд, заказ ненадежный, поэтому я просто ставлю их как EL expressions внутри моего лица так:

<p:ouputPanel>
  #{myBean.action1()}
  #{myBean.action2()}
</p:ouputPanel>

1 ответ

Решение

Спецификация, кажется, явно не утверждает, что где-либо.

Application#publishEvent() API упоминает, что они получены и обработаны как List который по природе заказан. И реализации Mojarra, и MyFaces подтверждают это, сохраняя их в CopyOnWriteArrayList а также ArrayList соответственно.

Таким образом, логически на основе API и обеих реализаций они действительно выполняются по порядку, если добавляются к одному и тому же родительскому компоненту пользовательского интерфейса.

Другие вопросы по тегам