Action動作類
在Struts2的應用開發中,Action作為框架的核心類,實現對用戶的請求處理,Action類被稱為業務邏輯控制器
一個Action類代表依次請求或調用,每個請求的動作都對應一個Action類,一個Action類是一個獨立的工作單元
Action就是用來處理一次用戶請求的對象
實例代碼:
第一種
/* * 可作為一個POJO類 * 在當前類中,要有一個公共的無參的構造方法,和一個execute()方法 該方法作用:是Action類 * 的默認請求處理方法 * execute()方法的要求如下: * 方法的權限修飾符為public * 返回一個字符串,表示指示的下一個頁面的Result * 方法沒有參數 * */
public class ThirdAction { private String username; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String execute() { /* * 在當前方法中調用service層 */ HttpServletRequest request = ServletActionContext.getRequest(); HttpServletResponse response = ServletActionContext.getResponse(); System.out.println(request); System.out.println(response); return "success"; } }
第二種:編寫action類 實現action接口
public class FourActrion implements Action{ /* * 定義Action接口 * 接口里包含的一些結果字符串 * Action接口中,定義默認五中邏輯視圖名稱 * public static final String SUCCESS=”success”; // 數據處理成功 * public static final String NONE=”none”; // 頁面不跳轉 相當於 return null; * public static final String ERROR=”error”; // 數據處理發送錯誤 * public static final String INPUT=”input”; // 主要權限認證 比如:輸入錯誤 * public static final String LOGIN=”login” // 權限認證(登錄頁面) */ @Override public String execute() throws Exception { //在這可以直接使用SUCCESS不需要“success”
return SUCCESS; } }
第三種:繼承ActionSupport 接口里也包含了Action接口里包含的結果字符串 推薦使用
public class fifthAction extends ActionSupport implements ServletRequestAware,ServletResponseAware{ private HttpServletRequest request; private HttpServletResponse response; @Override public void setServletResponse(HttpServletResponse response) { this.response = response; } @Override public void setServletRequest(HttpServletRequest request) { this.request = request; } public String execute() throws Exception { System.out.println(request); System.out.println(response); return SUCCESS; }