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つです.