arcanum_jp’s blog

おっさんの日記

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

 XPageでページのイベントを見ると以下の5つのメソッドが用意されている。

  1. beforePageLoad( )
  2. afterPageLoad( )
  3. afterRestoreView( )
  4. beforeRenderResponse( )
  5. afterRenderResponse( )
順番その1:画面が表示されるとき。

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

順番その2:イベントとかあったとき

 これの順番は、ボタンのイベント、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.
http://www.bleedyellow.com/blogs/dotdomino/entry/xpage_cheat_sheet_1_the_page_lifecycle5?lang=ja