コマンドマップには、クライアントから入力したデータに応じて、どのビジネスクラスのどのメソッドを呼び出すのかを記述します。
コマンドマップの各行が、入力したデータと呼び出すメソッドとの対応を表します。行の記述形式は受信するデータの種類によって異なります。
データBeanの場合
[入力のデータBeanのクラス名];[コマンド]=[ビジネスクラス名].[メソッド名]
XMLデータBean(com.fujitsu.uji.xml.XmlDataBeanクラス)の場合
/[入力のXMLデータBeanのルート要素の要素名];[コマンド]=[ビジネスクラス名].[メソッド名]
XMLデータBeanはデータをXMLで保持するクラスです。詳細は“第6章 XMLデータの利用”を参照してください。
また、ルート要素名が名前空間修飾されている場合は、接頭辞を含めずにローカル名のみ指定してください。
HashMap(java.util.HashMapクラス)の場合
$[入力のHashMapのデータタイプ];[コマンド]=[ビジネスクラス名].[メソッド名]
HashMapによるデータ入力はEJBセションBeanで使用します。詳細は“24.3.4 HashMapによるデータの入力”を参照してください。
受信したデータがnullでコマンドが指定された場合
;[コマンド]=[ビジネスクラス名].[メソッド名]
受信したデータとコマンドが両方ともnullの場合
;=[ビジネスクラス名].[メソッド名]
この形式の行は1行だけ書くことができます。Webアプリケーションでは、ユーザから最初にアクセスされた時に呼び出されるメソッドをこの形式で指定します。
"#"で始まる行はコメントになります。
"+"に続けてファイル名を書くと、そのファイルをインクルードできます。ファイル名はコマンドマップのあるフォルダからの相対パスで記述します。パス区切り文字は"/"です。インクルードするファイルの拡張子が.xmlの場合は、コマンドスクリプティングとして扱われます。
# このファイルと同じフォルダにあるsub.mapをインクルード +sub.map # サブフォルダxscriptにあるコマンドスクリプティングcomscr.xmlをインクルード +xscript/comscr.xml
以下はコマンドマップの記述例です。
データBeanを使用する例
# commands.map calc.BodyBean;add=calc.CalcHandler.add calc.BodyBean;sub=calc.CalcHandler.sub calc.BodyBean;next=calc.CalcHandler.next ;=calc.CalcHandler.startup
XMLデータBeanを使用する例
# commands.map /catalog;update=sample.CatalogHandler.update /catalog;search=sample.CatalogHandler.search /userinfo;update=sample.UserHandler.update sample.BodyBean;maintain=sample.CatalogHandler.maintain ;=sample.CatalogHandler.startup
上記例では、5行目で通常のデータBeanも混在して使用しています。
HashMapを使用する例
# commands.map $catalog;update=sample.CatalogHandler.update $catalog;search=sample.CatalogHandler.search $userinfo;update=sample.UserHandler.update ;=sample.CatalogHandler.startup