Apcoordinator ユーザーズガイド
目次 前ページ次ページ

第3部 Webアプリケーションの開発> 第14章 Webcoordinatorアプリケーションの骨格> 14.3 Webcoordinatorアプリケーションのファイル

14.3.1 表示の処理の流れ

Webcoordinatorアプリケーションの表示の処理の流れを付録A.1のサンプルに従って説明します。
制御ページmain.jspを指定してアプリケーションを起動すると、uji:dispatchタグからWebcoordinatorが起動します。Webcoordinatorはコマンドマップcommands.mapの以下の記述を参照して、最初に呼ぶメソッドを決めます。
;=sample.SampleHandler.startup
これで指定されたSampleHandlerクラスのstartupメソッドが呼ばれます。
表示のためにビジネスクラスのメソッドで必要な処理は以下です。
・表示用のデータをデータBeanに設定する。
・データBeanにsetVerbメソッドで表示モードを設定する。
・各領域に対して、DispatchContextクラスのsetResponseBeanメソッドで表示用のデータを持つデータBeanを設定する。
サンプルでは以下の処理となっています。

    public void startup(DispatchContext context) {
        BodyBean dataBean = new BodyBean();
        dataBean.setVerb("reqmode");
        context.setResponseBean("body", dataBean);
        setHead(context);
    }
    private HeadBean headBean;
    private void setHead(DispatchContext context) {
        if(headBean == null) {
            headBean = new HeadBean();
            headBean.setLoginTime(new java.util.Date());
        }
        headBean.setCount(headBean.getCount() + 1);
        context.setResponseBean("head", headBean);
    }

サンプルの例では、BodyBeanを作成して、body領域に対応付けて設定しています。また、setHeadメソッドの中で、HeadBeanを作成し、loginTimeとcountを設定し、head領域に対応付けて設定しています。 ここまでの処理を実行したところで、uji:dispatchタグの処理は終了し、制御ページに戻ります。 この時の設定状態を確認すると、以下のようになっています。
領域名データBeanの
クラス
表示モードデータBeanの内容
headHeadBeanなしcount、loginTimeを設定
bodyBodyBeanreqmode初期値
制御ページmain.jspに戻った後、uji:includeタグで再度Webcoordinatorが起動します。
<uji:include pane="head" />
領域名をpane="head"と指定していますので、Webcoordinatorはheadの設定情報を探します。この例ではHeadBeanが設定されています。 次にWebcoordinatorは、入出力画面の決定のためにページマップpages.mapを参照します。先ほどの設定情報では、headに対応付けられたデータBeanは、HeadBeanクラスで表示モードなしでした。ページマップ中でこれに一致する行があり、header.jspが入出力ページ名となります。
sample.HeadBean;=header.jsp
以上の結果より、この領域にheader.jspを表示します。
もう一つのuji:includeタグでも同様に、body領域BodyBeanで表示モードがreqmodeという設定から、request.jspが表示されます。 ページマップの記述方法の詳細はUJIタグリファレンスを参照してください。

次にheader.jspの中を説明します。

<uji:useBean id="head" cls="sample.HeadBean" request="true" />
実行回数は&nbsp;<uji:getProperty bean="head" property="count" />&nbsp;回です。
uji:useBeanタグはhead領域に対応付けたHeadBeanをJSP上でheadという変数名で使用可能にする宣言です。request="true"の記述は、次のリクエストまでWebcoordinatorで保持する指定です。 この宣言後、uji:getPropertyタグで変数名headとプロパティ名countを指定することで、countの設定内容が表示可能になります。同様にloginTimeも表示しています。
request.jspの中ではbody領域に対応付けたBodyBeanをJSP上でbodyという変数名で宣言しています。JSP変数としては使っていませんが、request="true"の指定で次のリクエストまでWebcoordinatorで保持するようにしています。
目次 前ページ次ページ

All Rights Reserved, Copyright © 富士通株式会社 2000-2005