1. 程式人生 > >Struts2框架的數據封裝一之屬性封裝(屬性封裝的第二種方式:封裝成javaBean)

Struts2框架的數據封裝一之屬性封裝(屬性封裝的第二種方式:封裝成javaBean)

ava width ace exceptio override efault cut domain demo

Struts2中提供了兩類數據封裝的方式?
   第一種方式:屬性驅動(有兩種方式:一個對屬性,另外一個是將參數封裝到javaBean中)
  B. 在頁面上,使用OGNL表達式進行數據封裝。(將參數封裝到javaBean中) 
     * 在頁面中使用OGNL表達式進行數據的封裝,就可以直接把屬性封裝到某一個JavaBean的對象中。
         * 在頁面中定義一個JavaBean,並且提供set方法:例如:private User user;
         * 頁面中的編寫發生了變化,需要使用OGNL的方式,表單中的寫法:<input type="text" name="user.username">
         * 註意:只提供一個set方法還不夠,必須還需要提供user屬性的get和set方法!!!
              > 先調用get方法,判斷一下是否有user對象的實例對象,如果沒有,調用set方法把攔截器創建的對象註入進來,
    例:
    1.書寫javaBean類User:
package com.huida.domain;

public class User {
    
    private String username;
    private String password;
    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;
    }
    @Override
    public String toString() {
        return "User [username=" + username + ", password=" + password + "]";
    }
    
    
}

    2.寫對應的action類,Regist2Action:

package com.huida.action1;

import com.huida.domain.User;
import com.opensymphony.xwork2.ActionSupport;

public class Regist2Action extends ActionSupport{

//屬性驅動不需要手動實例化 private User user; //提供set和get方法 public User getUser() { return user; } public void setUser(User user) { this.user = user; } @Override public String execute() throws Exception { System.out.println(user); return NONE; } }

    3.對action進行配置:

<package name="demo" namespace="/" extends="struts-default">
        <action name="regist2Action" class="com.huida.action1.Regist2Action"></action>
    </package>

    4.在index.jsp中寫對應的表單,這裏註意表單的中name對應值的變化,應該寫為user.username:

<h3>屬性驅動封裝數據,封裝到javaVean中</h3>
    <form action="${ pageContext.request.contextPath }/regist2Action.action" method="post"> 
        姓名<input type="text" name="user.username"/><br/>
        密碼<input type="text" name="user.password"/><br/>
        <input type="submit" value="註冊">
        
    </form>

    啟動服務器,執行index.jsp頁面,然後輸入姓名和密碼,點擊註冊,在控制臺上輸出如下內容表示封裝數據成功:

    技術分享圖片

       

Struts2框架的數據封裝一之屬性封裝(屬性封裝的第二種方式:封裝成javaBean)