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

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

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頁面,然後輸入姓名和密碼,點選註冊,在控制檯上輸出如下內容表示封裝資料成功: