1. 程式人生 > >Struts2之Action類的三種編寫方式

Struts2之Action類的三種編寫方式

Action類的三種編寫方式

Action 類就是一個pojo類

  • (Plain Ordinary Java Object)簡單的java物件,沒有繼承某個類,沒有實現介面,就是POJO類

Action類可以實現Action介面

  • Action介面中定義了5種視窗中常用的常量,常量的值對應的是5個邏輯視窗跳轉頁面(跳轉的頁面需要自己來配置),還定義了一個方法,execute方法
    ** ERROR--------錯誤
    ** SUCCESS--------成功
    ** LOGIN------登入
    ** NONE------頁面不跳轉
    **INPUT------用於資料表單校驗,如果校驗失敗,跳轉INPUT視窗

Action類可以繼承ActionSupport類(開發中最常使用)

  • 設定錯誤資訊

POJO 方式

public class DemoAction {
    public String execute(){
        System.out.println("DemoAction就是一個POJO類,,,,");
        return null;
    }
}
 <!--POJO類的方式-->
 <!--沒有跳轉頁面,所以沒有result標籤,只有execute方法,所以沒有method屬性-->
        <action name="demolAction" class="com.zst.action.DemoAction"/>

在這裡插入圖片描述

在這裡插入圖片描述

實現Action介面的方式

public class Demo2Action implements Action{
      public String execute()throws Exception{
          System.out.println("Demo2Action實現了Action的介面");
          //return "success"
          return SUCCESS;
      }

}
<!--實現Action介面的方式-->
        <action name="demo2Action" class="com.zst.action.Demo2Action">
            <!--方法返回的是常量SUCCESS,此處寫小寫的success-->
            <result name="success">/demo1/suc.jsp</result>
        </action>

在這裡插入圖片描述

繼承ActionSupport的方式

ActionSupport類已經實現了Action和其他的介面

public class Demo3Action extends ActionSupport {
    @Override
    public String execute() throws Exception {
        System.out.println("Demo3Action繼承了ActionSupport類");
        return NONE;
    }
}
  <!--繼承ActionSupport的方式-->
        <action name="demo3Action" class="com.zst.action.Demo3Action"/>```