arcanum_jp’s blog


ノーツドミノ Tips:XPageが表示されるときのメソッドの順番


  1. beforePageLoad( )
  2. afterPageLoad( )
  3. afterRestoreView( )
  4. beforeRenderResponse( )
  5. afterRenderResponse( )

 これの順番は、画面が表示されるときに 1 → 2 → 4 → 5 の順に呼び出されていく。注意点として1のイベント内では、まだページが読み込まれていないので、コンポーネントの値を取得しようとしても無理。


 これの順番は、ボタンのイベント、XPage上のビュー(一覧)の次のページリンクなどを押下されたときのように、ページがリフレッシュするようなケースに 3 → 4 → 5 の順でよびだされる。


So what exactly does this mean?

  1. PageLoad events are a good place to place code you only wish to execute the very first time the page is created.
  2. afterRestoreView events seem to be the best place for code that you wish to execute each time a refresh occurs.
  3. Events on a page/control will execute after the afterRestoreView events have fired so they will have access to any + variables/object you create in these events.
  4. To have code execute every time the page is processed you probably need to place it in a PageLoad and an afterRestoreView event
  5. Wen placing code in a control's afterPageLoad event don't assume the beforePageLoad events of the other controls have fired or that the page's afterPageLoad has fired.