ページの先頭行へ戻る
 Apcoordinator入門ガイド
Interstage

2.2.2 HelloApcoordinatorの動作概要

ここでは、HelloApcoordinatorの動作概要を説明します。

まずは、初期起動時の動作です。

初期起動時の動作の概念図を下図に示します。下図のように初期起動は9つのフェーズに分かれています。

次に上記の図より、具体的な動きを追っていきます。図中の番号と、その動作を下記の表に示します。

  1. リクエストの送信
    まず、ブラウザから制御ページにリクエストが送信されます。

  2. uji:dispatchタグの起動
    制御ページに記述されてあるuji:dispatchタグから、Apcoordinatorが起動します。

  3. コマンドマップから初期起動用のメソッドを検索
    コマンドマップ内から初期起動用のメソッドを検索します。

    初期起動では、下記の行が検索されます。

    ;="クラス名.メソッド名"

    HelloApcoordinatorではhello.HelloHandlerクラスのstartup()メソッドが呼ばれます。

  4. データBeanを領域にセット
    HelloHandlerクラスのstartup()メソッド内でDispatchContextクラスのsetResponseBean()メソッドが呼ばれ、データBeanに領域名がセットされます。

    そのとき、HelloApcoordinatorではデータBeanに表示モードを設定しています。

    これは、複数の入出力ページに1つのデータBeanが対応している場合に用います。

    入出力ページに対応した表示モードをデータBeanに設定します。ここではinputが設定されています。

    これで、uji:dispatchタグの動作は終了です。

  5. uji:includeタグの起動
    次に、制御ページに記述されているuji:includeタグが呼ばれ、Apcoordinatorが起動します。

  6. 領域名からデータBean名を検索
    uji:includeタグのpaneアトリビュートに記述されている領域名からデータBeanを検索します。

  7. ページマップから入出力ページを検索
    検索されたデータBeanをもとに、ページマップから対応する入出力ページを検索します。

  8. 入出力ページをuji:includeタグにセット
    入出力ページがuji:includeタグのある場所にセットされます。

  9. レスポンスの送信
    最後に生成された表示用データをブラウザに送信します。

以上の9つのフェーズを経て、レスポンスが送信されます。ただし、5~8はuji:includeタグの数だけ繰り返されます。

次に、ブラウザからデータが送られて来る場合を考えます。この場合は、下図のように10のフェーズに分かれます。

先ほどと同様に、上記の図より、具体的な動きを追っていきます。図中の番号と、その動作を下記の表に示します。

初期起動時と異なるのは、リクエスト受信時にデータBeanにデータがセットされ、ビジネスクラスに渡されるところです。

  1. リクエストの送信
    まず、ブラウザから制御ページにリクエストが送信されます。

  2. uji:dispatchタグの起動
    制御ページに記述されてあるuji:dispatchタグから、Apcoordinatorが起動します。

  3. データBeanにデータをセット
    ブラウザから送信されたデータをデータBeanにセットします。

  4. コマンドマップからメソッドを検索
    コマンドマップ内からメソッドを検索します。

    ここでは、HelloApcoordinatorの名前入力画面からリクエストが送信されたとします。この場合、ブラウザからokボタンが押され、リクエスト内にHelloBodyBeanクラスのデータが格納されています。

    よって、下記の記述からHelloHandlerクラスのok()メソッドが呼ばれます。

    hello.HelloBodyBean;ok=hello.HelloHandler.ok

    このとき、3のデータBeanがok()メソッドに渡されます。

  5. データBeanを領域にセット
    HelloHandlerクラスのok()メソッド内でDispatchContextクラスのsetResponseBean()メソッドが呼ばれ、データBeanに領域名がセットされます。

    そのとき、HelloApcoordinatorではデータBeanに表示モードを設定しています。

    これは、複数の入出力ページに1つのデータBeanが対応している場合に用います。

    入出力ページに対応した表示モードをデータBeanに設定します。ここではoutputが設定されています。

    これで、uji:dispatchタグの動作は終了です。

  6. uji:includeタグの起動
    次に、制御ページに記述されているuji:includeタグが呼ばれ、Apcoordinatorが起動します。

  7. 領域名からデータBean名を検索
    uji:includeタグのpaneアトリビュートに記述されている領域名からデータBeanを検索します。

  8. ページマップから入出力ページを検索
    検索されたデータBeanをもとに、ページマップから対応する入出力ページを検索します。

  9. 入出力ページをuji:includeタグにセット
    入出力ページがuji:includeタグのある場所にセットされます。

  10. レスポンスの送信
    最後に生成された表示用データをブラウザに送信します。