「イベント」の編集に使用するページにこれがあります
<f:metadata>
<f:viewParam id="event_id" name="eventId" value="#{eventController.eventId}"/>
<f:event type="preRenderView" listener="#{eventController.loadEvent}" />
</f:metadata>
...そして、「ViewScoped」Bean の対応する loadEvent メソッド。
ユーザーが編集するイベントを選択できる「リストイベント」ページで、このようなリンクを作成します
<h:link value="Full details" outcome="/calendar/viewEvent" includeViewParams="true">
<f:param name="eventId" value="#{calendarController.event.eventId}" />
</h:link>
リンクをクリックするまで loadEvent メソッドが呼び出されるとは思いませんが、'list events' ページにアクセスしたときに一度だけ呼び出されます。
確かに、これは何らかの形で JSF ライフサイクルにかかっています...しかし、なぜでしょうか?