コマンドマップはHTTPリクエストに対してどのビジネスクラスのどのメソッドを呼ぶかを解決するファイルです。
コマンドマップの1行は以下の情報から成り立っています。
[入力のデータBeanのクラス名];[コマンド]=[ビジネスクラス名].[メソッド名]
アプリケーション起動時に呼び出されるビジネスクラスとメソッドは、以下の形式で指定します。この形式の行は1行だけ書くことができます。
;=[ビジネスクラス名].[メソッド名]
入力のデータとしてXMLデータBean(com.fujitsu.uji.xml.XmlDataBeanクラス)を使用する場合は、以下の形式で書きます。
/[入力のXMLデータBeanのルート要素の要素名];[コマンド]=[ビジネスクラス名].[メソッド名]
入力のデータとしてHashMap(java.util.HashMapクラス)を使用する場合は、以下の形式で書きます。
$[入力のHashMapのデータタイプ];[コマンド]=[ビジネスクラス名].[メソッド名]
"#"で始まる行はコメントになります。
"+"に続けてファイル名を書くと、そのファイルをインクルードできます。ファイル名はコマンドマップのあるフォルダからの相対パスで記述します。パス区切り文字は"/"です。インクルードするファイルの拡張子が.xmlの場合は、コマンドスクリプティングとして扱われます。
# このファイルと同じフォルダにあるsub.mapをインクルード +sub.map # サブフォルダxscriptにあるコマンドスクリプティングcomscr.xmlをインクルード +xscript/comscr.xml
通常のデータBeanを使用する例
# commands.map sample.BodyBean;add=sample.SampleHandler.add sample.BodyBean;sub=sample.SampleHandler.sub sample.BodyBean;next=sample.SampleHandler.next ;=sample.SampleHandler.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