クラス MultiAction

java.lang.ObjectSE
org.springframework.webflow.action.AbstractAction
org.springframework.webflow.action.MultiAction
実装されたすべてのインターフェース:
org.springframework.beans.factory.InitializingBeanAction
既知の直属サブクラス
FormAction

public class MultiAction extends AbstractAction
2 つ以上のアクション実行メソッドを 1 つのクラスにまとめたアクション実装。サブクラスによって定義されるアクション実行メソッドは、次のシグネチャーに準拠する必要があります。
     public Event ${method}(RequestContext context) throws Exception;
 
このアクションが呼び出されると、デフォルトでは、呼び出しアクション状態の id がアクション実行メソッド名として扱われます。または、実行メソッド名を呼び出しアクション状態の属性として明示的に指定することもできます。

例: 次のアクション状態の定義:

     <action-state id="search">
         <evaluate expression="searchAction.executeSearch"/>
         <transition on="success" to="results"/>
     </action-state>
 
... 入力すると、メソッドが実行されます:
 public Event search(RequestContext context) throws Exception;
 

MultiAction の用途の 1 つは、フローのすべてのコマンドロジックを 1 か所に集約することです。もう 1 つの用途は、フォームの設定と送信ロジックを 1 か所に集約すること、または単一のドメインオブジェクトの CRUD (作成 / 読み取り / 更新 / 削除) 操作を 1 か所に集約することです。

作成者:
Keith Donald, Erwin Vervaet
関連事項:
  • コンストラクターの詳細

    • MultiAction

      protected MultiAction()
      保護されたデフォルトコンストラクター。直接の MultiAction インスタンス化では呼び出せません。サブクラスで使用することを目的としています。

      このマルチアクションインスタンスにターゲットを設定します。

      関連事項:
    • MultiAction

      public MultiAction(ObjectSE target)
      指定されたターゲットオブジェクトのメソッドを呼び出すマルチアクションを構築します。注: ターゲットの呼び出し可能なメソッドは、マルチアクションメソッドシグネチャーに準拠している必要があります。
             public Event ${method}(RequestContext context) throws Exception;
       
      パラメーター:
      target - このマルチアクションの呼び出しの対象
  • メソッドの詳細

    • setTarget

      protected final void setTarget(ObjectSE target)
      このマルチアクションの呼び出しのターゲットを設定します。
      パラメーター:
      target - ターゲット
    • getMethodResolver

      public MultiAction.MethodResolver getMethodResolver()
      アクション実行メソッド名を解決するために使用される戦略を取得します。
    • setMethodResolver

      public void setMethodResolver(MultiAction.MethodResolver methodResolver)
      アクション実行メソッド名を解決するために使用する戦略を設定します。メソッド解決アルゴリズムを完全に制御できます。デフォルトは DefaultMultiActionMethodResolver です。
    • doExecute

      protected final Event doExecute(RequestContext context) throws ExceptionSE
      クラスからコピーされた説明: AbstractAction
      テンプレートフックメソッドのサブクラスは、特定のアクション実行ロジックをカプセル化するためにオーバーライドする必要があります。
      次で指定:
      クラス AbstractActiondoExecute 
      パラメーター:
      context - 「フロースコープ」または「リクエストスコープ」内のデータにアクセスして設定するためのアクション実行コンテキスト
      戻り値:
      アクション結果イベント
      例外:
      ExceptionSE - チェック済みまたはチェックされていない回復不可能な例外が発生しました