一.普通的POJO類(沒有繼承沒有實現)-基本不使用
public class DemoAction1 { public String execute(){ System.out.println("DemoAction1是普通的POJO類..."); return null; } }
<!-- 普通的POJO類 --> <action name="action1" class="com.struts2.web.action2.DemoAction1"/>
基本不使用
二.實現Action接口-基本不使用
import com.opensymphony.xwork2.Action; /** * action類的編寫2:實現action接口 * @author NEWHOM * */ public class DemoAction2 implements Action { @Override public String execute() throws Exception { // TODO Auto-generated method stub System.out.println("DemoAction2是一個實現了Action接口的類..."); return null; } }
<!-- 實現了Action接口 --> <action name="action2" class="com.struts2.web.action2.DemoAction2" />
* Action接口中定義了5個常量,5個常量的值對應的是5個邏輯視圖跳轉頁面(跳轉的頁面還是需要自己來配置),還定義了一個方法,execute方法。 * 5個邏輯視圖的常量 * SUCCESS -- 成功. * INPUT -- 用於數據表單校驗.如果校驗失敗,跳轉INPUT視圖. * LOGIN -- 登錄. * ERROR -- 錯誤. * NONE -- 頁面不轉向.
基本不使用
三.繼承ActionSupport類-經常使用
import com.opensymphony.xwork2.ActionSupport; /** * action編寫3:繼承ActionSupport類 * @author NEWHOM * */ public class DemoAction3 extends ActionSupport { private static final long serialVersionUID = 1L; @Override public String execute() throws Exception { // TODO Auto-generated method stub System.out.println("DemoAction3是一個繼承了ActionSupport的類..."); return null; } }
<!-- 繼承了ActionSupport類 --> <action name="action3" class="com.struts2.web.action2.DemoAction3"/>
ActionSupport本身繼承了許多的類,利於編寫代碼
開發中經常使用這種方式