1. 程式人生 > >Struts2-Action接受引數方式、method屬性使用及萬用字元的配置

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配置

這裡寫圖片描述