Struts2-Action接受參數方式、method屬性使用及通配符的配置

一、Action接受參數的方式

1、屬性方式接收

  • 首先編寫一個用於上傳參數的頁面

這裏寫圖片描述

  • action配置

這裏寫圖片描述

  • 成功跳轉的頁面

這裏寫圖片描述

  • action類代碼
public class UserAction extends ActionSupport {
    private String userName;// 用戶名-必須與頁面請求的對應表單name值相同
    private String password;// 密碼-必須與頁面請求的對應表單name值相同

    @Override
    public String execute() throws Exception {
        System.out.println(this.userName + "|" + this.password);
        if("admin".equals(userName)) {
            return SUCCESS;
        }else{
            return "error";
        }
    }

    //必須設置get和set方法

    public String getUserName() {
        return userName;
    }

    public String getPassword() {
        return password;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public void setPassword(String password) {
        this.password = password;
    }

}
  • 請求成功後控制檯及成功頁面輸出結果

這裏寫圖片描述
這裏寫圖片描述


2、使用JavaBean方式接收

  • 請求頁面

這裏寫圖片描述

  • aciton配置

這裏寫圖片描述

  • JavaBean代碼
/**
 *JavaBean
 */
public class User {

    private String loginname;
    private String password;

    public String getLoginname() {
        return loginname;
    }

    public String getPassword() {
        return password;
    }

    public void setLoginname(String loginname) {
        this.loginname = loginname;
    }

    public void setPassword(String password) {
        this.password = password;
    }

}
  • action類代碼
public class UserAction extends ActionSupport {

    private User user;//JavaBean對象-提交頁面的user.loginname表示此屬性名及此對象的內部屬性名

    @Override
    public String execute() throws Exception {
        System.out.println(this.user.getLoginname() + "|" + this.user.getPassword());
        if("admin".equals(user.getLoginname())) {
            return SUCCESS;
        }else{
            return "error";
        }
    }

    //必須設置get和set方法

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

}
  • 請求成功頁面

這裏寫圖片描述

  • 請求成功後頁面結果

這裏寫圖片描述


3、使用ModelDriven方式接收參數

  • 請求頁面

這裏寫圖片描述

  • action配置
<action name="ModelDriven" class="com.pb02.demo03.UserAction">
    <result>/jsp/02_Action接收參數/LoginSuccess.jsp</result>
    <result name="error">/jsp/02_Action接收參數/LoginError.jsp</result>
</action>
  • action類代碼(JavaBean代碼同上略)

可以看出ModelDriven是通過getModel方法獲取action中JavaBean對象,然後將用戶提交數據賦值到此對象內。

這裏寫圖片描述

  • 請求成功頁面及輸出結果

這裏寫圖片描述
這裏寫圖片描述


二、action的method屬性

1、一個acton可以配置多個方法,此時可以通過配置action的method屬性來調用action類的不同方法

  • action配置

這裏寫圖片描述

  • action類

這裏寫圖片描述

  • 請求頁面

這裏寫圖片描述

  • 輸出結果順理成章,略…

2、動態方法調用

  • action配置

這裏寫圖片描述

  • 請求頁面

這裏寫圖片描述

  • action類同上略

  • 結果也是順理成章…略…


三、使用通配符配置action

  • 請求頁面

這裏寫圖片描述

  • action配置

這裏寫圖片描述

發佈了50 篇原創文章 · 獲贊 305 · 訪問量 83萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章