Struts 2 Actionの3つの作成方法

2955 ワード


ActionはStrut 2のコアコンテンツであり、サーブレットに相当し、業務を処理するために使用される.
ActionはJavaクラスで、Javaクラスを直接新規作成すればよい.
 
Actionには3つの実装方式がある.
1、POJOを使用して、メンバー変数を設定し、対応するsetter、getterメソッドを書き、もう一つの戻り値がStringのメソッドを書き、ビジネスロジックを処理し、method属性値をこのメソッドに設定します.
POJO:通常の、従来のJavaオブジェクト(クラス)は、インタフェースを実装せず、クラスを継承しません.
この方式で作成したActionは,他のクラス,インタフェースと結合せず,低侵入式である.
しかし、この方法はよく使われません.最初から書くので、自分でpublic String xxx()を叩いて、strutsで書きます.xmlで呼び出す方法を指定するのは面倒です.
 
 
 
2、Actionインタフェースの実現
import com.opensymphony.xwork2.Action;

public class XxxAction implements Action {
    @Override
    public String execute() throws Exception {
        return null;
    }
}

デフォルトでは、structsで要求を処理するためにexecute()メソッドが呼び出されます.xmlで呼び出されたメソッドを構成します.
 
Actionインタフェースには、一般的な文字列定数が組み込まれています.直接使用できます.
 String SUCCESS = "success";
    String NONE = "none";
    String ERROR = "error";
    String INPUT = "input";
    String LOGIN = "login";

 
注意はcomです.opensymphony.xwork2.Action、パケットを導くときは間違えないでください.
 
 
3、ActionSupport類の継承
public class XxxAction extends ActionSupport {
    @Override
    public String execute() throws Exception {
        return null;
    }
}

ActionSupportクラスはActionインタフェースを実現し、Actionインタフェースのすべての機能を持ち、Serializableなどの他のインタフェースを実現し、より強力な機能を実現しています.
 
 
一般的には3つ目の方法が使われています.
 
 
structs-default.xmlが提供するデフォルトのパッケージ構成:
        <default-class-ref class="com.opensymphony.xwork2.ActionSupport" />

        execute,input,back,cancel,browse,save,delete,list,index

デフォルトではActionSupportがインスタンス化され、executeはデフォルト呼び出しのメソッドの1つです.