Index

Link

プロジェクト文書

Built by Maven

使い方

CommandLineDispatcher

CommandLineDispatcherはmainメソッドから使用されることを想定しています。 dispatchメソッドの第1引数は実行するActionの名前で、第2引数はコマンドラインパラメータになります。 パラメータは「-name value」の形式で指定するとActionまたはModelDrivenのプロパティにセットされます。

public static void main(String[] args) throws Exception {
    CommandLineDispatcher dispatcher = new CommandLineDispatcher();
    dispatcher.dispatch(args[0], args);
}

Actionなどでコマンドラインパラメータをそのまま使いたい場合は以下のようにして取り出せます。 String[] args = (String[])ActionContext.getContext().get(CommandLineDispatcher.CMD);

CommandLineResult

System.exitして終了するCommandLineResultの定義を追加します。

CommandLineResultのresultCodeパラメータで終了コードを指定します。

<package name="command">
    <result-types>
        <result-type class="org.seasar.xwork.clwork.result.CommandLineResult" name="command"/>
    </result-types>
    <interceptors>
        <interceptor name="params" class="com.opensymphony.xwork.interceptor.ParametersInterceptor" /> 
        <interceptor-stack name="defaultStack">
            <interceptor-ref name="params"/>
        </interceptor-stack>
    </interceptors>
    <default-interceptor-ref name="defaultStack"/>
        
    <action name="add" class="org.seasar.xwork.clwork.sample.AddAction">
        <result name="success" type="command">
            <param name="resultCode">0</param>
        </result>
        <result name="error" type="command">
            <param name="resultCode">1</param>
        </result>
    </action>
</package>