Apcoordinator ユーザーズガイド |
目次 |
第3部 Webアプリケーションの開発 | > 第14章 Webcoordinatorアプリケーションの骨格 | > 14.3 Webcoordinatorアプリケーションのファイル |
uji:dispatch
タグからWebcoordinatorが起動します。Webcoordinatorはコマンドマップcommands.mapの以下の記述を参照して、最初に呼ぶメソッドを決めます。
これで指定されたSampleHandlerクラスのstartupメソッドが呼ばれます。
;=sample.SampleHandler.startup
サンプルの例では、BodyBeanを作成して、body領域に対応付けて設定しています。また、setHeadメソッドの中で、HeadBeanを作成し、loginTimeとcountを設定し、head領域に対応付けて設定しています。 ここまでの処理を実行したところで、
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); }
uji:dispatch
タグの処理は終了し、制御ページに戻ります。
この時の設定状態を確認すると、以下のようになっています。
制御ページmain.jspに戻った後、
領域名 データBeanの
クラス表示モード データBeanの内容 head HeadBean なし count、loginTimeを設定 body BodyBean reqmode 初期値
uji:include
タグで再度Webcoordinatorが起動します。
領域名を
<uji:include pane="head" />
pane="head"
と指定していますので、Webcoordinatorはheadの設定情報を探します。この例ではHeadBeanが設定されています。
次にWebcoordinatorは、入出力画面の決定のためにページマップpages.mapを参照します。先ほどの設定情報では、headに対応付けられたデータBeanは、HeadBeanクラスで表示モードなしでした。ページマップ中でこれに一致する行があり、header.jspが入出力ページ名となります。
以上の結果より、この領域にheader.jspを表示します。
sample.HeadBean;=header.jsp
uji:include
タグでも同様に、body領域BodyBeanで表示モードがreqmodeという設定から、request.jspが表示されます。
ページマップの記述方法の詳細はUJIタグリファレンスを参照してください。
次にheader.jspの中を説明します。
<uji:useBean id="head" cls="sample.HeadBean" request="true" />
実行回数は <uji:getProperty bean="head" property="count" /> 回です。
uji:useBean
タグはhead領域に対応付けたHeadBeanをJSP上でheadという変数名で使用可能にする宣言です。request="true"
の記述は、次のリクエストまでWebcoordinatorで保持する指定です。
この宣言後、uji:getProperty
タグで変数名headとプロパティ名countを指定することで、countの設定内容が表示可能になります。同様にloginTimeも表示しています。目次 |