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

第2部 Apcoordinatorコアの機能> 第9章 コマンドスクリプティング

9.3 利用者定義タグの追加

コマンドスクリプティングの処理のタグを利用者定義で追加することができます。

  <entry bean="sample1.BodyBean" verb="add">
    <myTag param="xxx" />
    ...
  </entry>

・処理クラスの作成
タグの処理をするクラスを、XScriptEngineクラスを継承して作成します。
getTagDefsメソッドで、タグ名と処理をするメソッド名の配列を返します。
処理をするメソッドは、DispatchContextと属性をもつMapオブジェクトを引数として作成します。
スクリプトデータを利用して、他のタグとデータの交換ができます。

public class MyTagEngine extends com.fujitsu.uji.xscript.XScriptEngine {
  String tagDefs[][] = { { "myTag", "doMyTag" } };
  public String[][] getTagDefs() {
    return tagDefs;
  }
  public void doMyTag(DispatchContext context, Map attributes) {
    String param = (String)attributes.get("param");
    Object val = context.getScriptData("uji.current");
    ...
    context.setScriptData("myTagValue", val);
  }
}

・処理クラスの組込み
ファクトリクラスで、処理のクラスのインスタンスを返します。

public class SampleFactory extends com.fujitsu.uji.http.HttpFactory
{
   ...
   public XScriptEngine newXScriptEngine() {
      return new MyTagEngine();
   }
}


目次 前ページ次ページ

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