1. 程式人生 > >Struts2框架的資料封裝

Struts2框架的資料封裝

1. 為什麼要使用資料的封裝呢?

* 作為MVC框架,必須要負責解析HTTP請求引數,並將其封裝到Model物件中

* 封裝資料為開發提供了很多方便

* Struts2框架提供了很強大的資料封裝的功能,不再需要使用Servlet的API完成手動封裝了!!

2. Struts2中提供了兩類資料封裝的方式?

* 第一種方式:屬性驅動

> 提供對應屬性的set方法進行資料的封裝。

* 表單的哪些屬性需要封裝資料,那麼在對應的Action類中提供該屬性的set方法即可。

* 表單中的資料提交,最終找到Action類中的setXxx的方法,最後賦值給全域性變數。

* 注意0:Struts2的框架採用的攔截器完成資料的封裝。

* 注意1:這種方式不是特別好:因為屬性特別多,提供特別多的set方法,而且還需要手動將資料存入到物件中.

* 注意2:這種情況下,Action類就相當於一個JavaBean,就沒有體現出MVC的思想,Action類又封裝資料,又接收請求處理,耦合性較高。

> 在頁面上,使用OGNL表示式進行資料封裝

* 在頁面中使用OGNL表示式進行資料的封裝,就可以直接把屬性封裝到某一個JavaBean的物件中。

* 在頁面中定義一個JavaBean,並且提供set方法:例如:private User user;

* 頁面中的編寫發生了變化,需要使用OGNL的方式,表單中的寫法:<input type="text" name="user.username">

* 注意:只提供一個set方法還不夠,必須還需要提供user屬性的get和set方法!!!

> 先呼叫get方法,判斷一下是否有user物件的例項物件,如果沒有,呼叫set方法把攔截器建立的物件注入進來,

* 第二種方式:模型驅動

> 使用模型驅動的方式,也可以把表單中的資料直接封裝到一個JavaBean的物件中,並且表單的寫法和之前的寫法沒有區別!

> 編寫的頁面不需要任何變化,正常編寫name屬性的值

> 模型驅動的編寫步驟:

* 手動例項化JavaBean,即:private User user = new User();

* 必須實現ModelDriven<T>介面,實現getModel()的方法,在getModel()方法中返回user即可!!

**技術分析之Struts2把資料封裝到集合中**

1. 封裝複雜型別的引數(集合型別 Collection 、Map介面等)

2. 需求:頁面中有可能想批量新增一些資料,那麼現在就可以使用上述的技術了。把資料封裝到集合中

3. 把資料封裝到Collection中

* 因為Collection介面都會有下標值,所有頁面的寫法會有一些區別,注意:

<input type="text" name="products[0].name" />

* 在Action中的寫法,需要提供products的集合,並且提供get和set方法。

4. 把資料封裝到Map中

* Map集合是鍵值對的形式,頁面的寫法

> <input type="text" name="map['one'].name" />

* Action中提供map集合,並且提供get和set方法

相關推薦

十一 三種Struts2資料封裝方式

Struts2的資料封裝:Struts2是一個web層框架,框架是軟體的半成品。提供了資料封裝的基本功能。 屬性驅動:提供屬性set方法的方式 這種方式很少用,除非資料少,需要在Action類裡自己往物件裡封裝 前端jsp: 1 <%@ page language="java" cont

Struts2資料封裝到集合中之封裝到Collection中

資料封裝到集合中,可以封裝到集合中,也可以封裝到Map中。該篇部落格主要講解資料封裝到集合中的封裝到Collection中。1. 封裝複雜型別的引數(集合型別 Collection 、Map介面等) 2. 需求:頁面中有可能想批量新增一些資料,那麼現在就可以使用上述的技術了。把資料封裝到集合中 3. 把資料封

Struts2資料封裝到集合中之封裝到map中

struts框架封裝資料可以封裝到集合中也可以封裝到map中,該篇部落格主要講解將資料封裝到map中。 1. 封裝複雜型別的引數(集合型別 Collection 、Map介面等) 2. 需求:頁面中有可能想批量新增一些資料,那麼現在就可以使用上述的技術了。把資料封裝到集合中3. 把資料封裝到Map中(雙元素

Struts2資料封裝機制

Struts2當中資料封裝的三種機制:屬性驅動、標籤驅動、模型驅動。下面來一一介紹。 一、屬性驅動 1、需要提供對應屬性的set方法進行資料的封裝。 2、表單的哪些屬性需要封裝資料,那麼在對應的Act

Struts2總結---資料封裝機制 (10)

一,屬性驅動的資料封裝 示例程式碼: public class AttributeAction extends ActionSupport { // 屬性直接放在action類中,並且每一個屬性都得寫get和set方法 private String nam

Struts2框架自學之路——Action獲取表單資料的方式以及表單資料封裝

目錄   Action獲取表單資料的方式 通過ActionContext類獲取 使用ServletActionContext類獲取 通過特定介面訪問 在Action中操作域物件 Action中原始方式封裝表單資料 Struts2中表單資料的封裝 屬性封裝

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

Struts2中提供了兩類資料封裝的方式? 第一種方式:屬性驅動(有兩種方式:一個對屬性,另外一個是將引數封裝到javaBean中)   B. 在頁面上,使用OGNL表示式進行資料封裝。(將引數封裝到javaBean中)     * 在頁面中使用OGNL表示式進行資料的封裝,就可以直接把屬性封

Struts2框架與頁面的資料互動(1)--資料封裝

2、Struts2框架與頁面的資料互動(1)--資料封裝 上接Sturts2框架入門學習:https://blog.csdn.net/biggerchong/article/details/84540183 目錄 2、Struts2框架與頁面的資料互動 2.1

七、Struts2框架資料封裝

什麼叫框架的資料封裝? 就是將原本需要使用Servlet的Api手動去解析請求引數,然後封裝成model的操作交給了Struts2框架來完成。Struts2的框架採用了攔截器來完成資料的封裝。 兩類資料封裝的方式 1.屬性驅動方式 提供對應屬性的set方法進行資料的封裝。 表單的

Struts2框架資料封裝

1. 為什麼要使用資料的封裝呢? * 作為MVC框架,必須要負責解析HTTP請求引數,並將其封裝到Model物件中 * 封裝資料為開發提供了很多方便 * Struts2框架提供了很強大的資料封裝的功能,不再需要使用Servlet的API完成手動封裝了!! 2. S

Struts2框架封裝資料

主要解決的問題:是在action中如果獲取請求引數主要有兩種方式:1.屬性驅動直接在action類中提供與請求引數匹配屬性,提供get/set方法在action類中創始一個javaBean,對其提供get/set ,在請求時頁面上要進行修改,   例如 user.userna

【07】框架學習—Struts2中域物件/頁面跳轉/資料封裝/攔截器技術

1.Struts2框架中使用Servlet的API 1.1 完全解耦合的方式 static ActionContext getContext():獲取ActionContext物件例項。 java.util.Map<java.lang.String,j

JAVA框架Struts2 數據封裝

bubuko del JD oda eal 名稱 extend bsp username 一、strust2封裝數據包含二部分: 數據在到Action類的時候,會經過攔截器,攔截器會有很多功能:比如數據封裝、類型轉換等。 我可以查看下strust-default.xml文件

(24) java web的struts2框架的使用-action參數自動封裝與類型轉換

基本 urn stat java pri clas 一個 ons pre structs可以對參數進行自動封裝,做法也很簡單. 一,action參數自動封裝:   1,可以直接在action類中,聲明public的屬性,接受參數。   2,屬性也是是private,如果是p

三大框架(ssh)學習——表單資料封裝

Model-Driven和Property-Driven Struts1中我們可以將提交表單的引數使用FormBean進行封裝傳遞給我們的Action。在struts2中我們可以使用Model-Driven和Property-Driven進行表單資料的封裝,便於我們在Action中直接使用。

關於Struts2框架下回傳JSON資料被打斷的問題

在struts2的返回結果集做出瞭如下配置: <package name="easyUIorder" extends="json-default"> <action name="queryList2" class="orderAction" metho

Struts2第二天:Struts2資料封裝、結果頁面配置

目錄     1.Struts2的Servlet的API的訪問 1.1完全解耦合的方式 1.2使用Servlet的API的原生方式(*****) 1.3介面注入的方式 2.Struts2的結果頁面的配置 2.1結果頁面的配置 2.1

Struts2資料封裝&複雜型別封裝

Struts2框架是一個web層框架,web層框架(框架:軟體的辦成品,完成一部分功能)。Struts2提供了資料封裝的功能。 1、屬性驅動 1.1 提供set方法的方式(不常用) JSP編寫 <h3>方式一:屬性驅動-提供set方法的方式</h3>

Struts2框架資料驗證

資料驗證分為客戶端驗證和伺服器端驗證, Struts2框架的驗證屬於伺服器端的驗證 ①程式設計式驗證 在動作類中重寫validate(): package com.rl.action; import org.apache.struts2.interceptor.val

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

ava width ace exceptio override efault cut domain demo Struts2中提供了兩類數據封裝的方式? 第一種方式:屬性驅動(有兩種方式:一個對屬性,另外一個是將參數封裝到javaBean中)   B. 在頁面上,使用