在struts2中,前臺與action傳送數據有兩種方式,分別是屬性驅動和模型驅動。
1.屬性驅動
- package test;
- public class DriverAction2{
- private User user;
- public String execute(){
- return "success";
- }
- public User getUser() {
- return user;
- }
- public void setUser(User user) {
- this.user = user;
- }
- }
- <form action="login.action" method="post">
- 姓名 <input type="text" name="user.username"><br/>
- 密碼 <input type="text" name="user.password"><br/>
- 年齡 <input type="text" name="user.age"><br/>
- <input type="submit" value="submit">
- </form>
2.模型驅動
1、action實現一個接口ModelDriver
2、在action中聲明一個屬性,該屬性會封裝頁面中的數據,並且用new的方法
給該屬性創建對象
填充接口中的方法getModel,返回該屬性的值
從上圖可以看出,ModelDriverInterceptor有兩個作用:
1、 當前請求的action必須實現ModelDriver接口
2、 把model對象放入到了棧頂