程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> struts2之3--Action類的包裝

struts2之3--Action類的包裝

編輯:關於JSP

1  :直接讓上面的Action去實現Struts2框架Action接口。裡面會提供幾個常量和一個抽象的execute方法。以下就是struts2提供的Action接口。
//定義5個字符串常量,統一返回值。主要的作用是 規范返回值。
public abstract interface com.opensymphony.xwork2.Action {
 
  // Field descriptor #4 Ljava/lang/String;
  public static final java.lang.String SUCCESS = "success";
 
  // Field descriptor #4 Ljava/lang/String;
  public static final java.lang.String NONE = "none";
 
  // Field descriptor #4 Ljava/lang/String;
  public static final java.lang.String ERROR = "error";
 
  // Field descriptor #4 Ljava/lang/String;
  public static final java.lang.String INPUT = "input";
 
  // Field descriptor #4 Ljava/lang/String;
  public static final java.lang.String LOGIN = "login";
 
  // Method descriptor #16 ()Ljava/lang/String;
  public abstract java.lang.String execute() throws java.lang.Exception;
}


2: 讓上面的Action去繼承Struts2框架的ActionSupport(com.opensymphony.xwork2.ActionSupport)這個類提供了Struts2的很多特殊的功能。
  讓Action類繼承這個ActionSupport類,就會時Action類可以提供數據校驗,國際化,對象序列化等功能 。而且這個ActionSupport是實現Action接口的。

以下就是這個ActionSupport類要實現的接口聲明。

public class com.opensymphony.xwork2.ActionSupport
implements com.opensymphony.xwork2.Action,
com.opensymphony.xwork2.Validateable,
com.opensymphony.xwork2.ValidationAware,
com.opensymphony.xwork2.TextProvider,
com.opensymphony.xwork2.LocaleProvider,
java.io.Serializable {

。。。 相關的處理方法
}

 

需要注意的地方

Actionsupport這個工具類在實現了Action接口的基礎上還定義了一個validate()方法,重寫該方法,它會在execute()方法之前執行,如校驗失敗,會轉入input處,必須在配置該Action時配置input屬性。
如果檢驗出錯誤可以調用this.addFieldError的方法給框架添加錯誤信息。然後在頁面中可以直接顯示出來。
如下示例:

@Override
public void validate() {
   if(null == this.getPasswd() || "".equals(this.getPasswd().trim())){
    this.addFieldError(passwd, "passwd is required");
   }
   if(null== this.getUsername() || "".equals(this.getUsername().trim())){
    this.addFieldError(username, "username is required");
   }
}

 

另外,Actionsupport還提供了一個getText(String key)方法還實現國際化,該方法從資源文件上獲取國際化信息,這是非常有用的。

 


 


作者:weiguolee

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved