3.struts2接收頁面傳參的三種方式


Struts2通過攔截器機制封裝了三種接收頁面參數的方式:

  1.屬性驅動

  2.模型驅動(有兩種)

    Domain

    ModelDriven

 

  1.屬性驅動:這種方式比較簡單,只要你直接在頁面定義變量並且符合以下兩個規則,就會自動接收值。

    規則1:你變量的名字和頁面的name屬性一致

    規則2:生成對應的get set方式

  Action寫法:

public class ParamAction {
    private String username;
    private String password;
    public String para1(){
        System.out.println("用戶名:"+username+"密碼"+password);
        return "success";
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}

  頁面寫法:

 

  2.Domain:在Action中創建實體類的對象,並且符合以下兩個規則就可以

    規則1:頁面的那么屬性寫法:對象名.屬性名

    規則2:生成get set方法

  Action寫法:

public class ParamAction2 extends ActionSupport {
    private User user;
    public String para2(){
        System.out.println("用戶名:"+user.getUsername()+"密碼"+user.getPassword());
        return "success";
    }
    public User getUser() {
        return user;
    }
    public void setUser(User user) {
        this.user = user;
    }
}

  實體類:get set省略了,自己生成

    private String username;
    private String password;

  頁面寫法:

  3.實現ModelDriven接口,這個一個泛型接口,泛型中的內容就是你要接受的實體類

    規則1:實現ModelDriven這個接口,並實現其getModel方法

    規則2:提供一個空的對象供其初始化

    規則3:頁面的名字和實體類的屬性名一致

  Action寫法:

/**
 * 1.類要實現ModelDriven這個接口
 * @author Administrator
 *
 */
public class ParamAction3 implements ModelDriven<User> {
    //2.提供一個空的對象供其初始化,一定要new出來
    private User user =new User();
    public String para3(){
        System.out.println(user.getUsername()+user.getPassword());
        return "success";
    }
    //3.把user返回
    public User getModel() {
        return user;
    }
}

  頁面寫法:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM