1. 程式人生 > >Struts2框架與頁面的資料互動(1)--資料封裝

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

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


上接Sturts2框架入門學習:https://blog.csdn.net/biggerchong/article/details/84540183

目錄

2、Struts2框架與頁面的資料互動

2.1 Struts2框架訪問servlet的API

2.1.1 完全解耦和方式(瞭解)

2.1.2 使用servlet的API原生方式(重點)

2.1.3 介面注入方式

2.2 結果頁面的配置

2.2.1 全域性結果頁面的配置

2.2.2 區域性結果頁面的配置

2.2.3 result標籤說明

2.3 Struts2對資料的封裝(兩大類三小類)

2.3.1 屬性驅動:提供屬性的set方法(不常用)

2.3.2 屬性驅動: 頁面中提供表示式

2.3.3 模型驅動: 採用模型驅動(重點)

2.4INPUT邏輯檢視

2.5 複雜資料的封裝(使用屬性驅動:頁面表示式)

2.5.1 封裝資料到List集合中

2.5.2 封裝資料到Map集合中


2.1 Struts2框架訪問servlet的API

         在實際開發應用中,我們會經常使用到request、response、session、application等servlet的API來實現後臺與前端的資料互動;Struts2中提供了3中方法來呼叫servlet的這些API的手段,下面來一一介紹:

2.1.1 完全解耦和方式(瞭解)

         完全解耦和方式,根據名字可以猜測到這種方式本質上是跟servlet沒有關係的;它是通過讀取servlet相應的API來取得request等引數,但是卻儲存為map<String , Object>的形式,也就是操作者不具備操作request本身(方法)的許可權,所以這種方法限制較大,企業中使用較少。

 

2.1.2 使用servlet的API原生方式(重點)

         通過直接獲得request、session、application物件,利用這些物件來直接操作物件本身方法;這種方式在企業級使用較多。

 

2.1.3 介面注入方式

         利用Struts2的介面實現來獲取request、application物件,這種方式每獲取一個物件就要實現其對應的介面方法,企業級使用比較繁瑣,使用較少;但是這種方法是執行緒安全的,Servlet是單例的,多個程式訪問同一個Servlet只會建立一個Servlet的例項,Action是多例的,一次請求,建立一個Action的例項(不會出現執行緒安全的問題)。


2.2 結果頁面的配置

2.2.1 全域性結果頁面的配置

         全域性結果頁面能被當前package下的所有的result結果識別,如果符合就執行次全域性結果頁面的頁面跳轉等相應的操作;但是如果同時存在此result結果的區域性結果頁面,應當執行區域性頁面的配置的相關操作。

         表明所有success結果都能執行頁面請求跳轉到request2.jsp頁面。

 

2.2.2 區域性結果頁面的配置

         區域性結果頁面只在當前package的指定的action標籤下有效。

 

2.2.3 result標籤說明

result標籤:配置結果頁面屬性

   Name屬性: 邏輯檢視(利用name跳轉到實際檢視上)的名稱。預設值:success

   Type屬性:  設定頁面跳轉的型別

  1. dispatcher:           請求轉發
  2. redirect:                 頁面重定向
  3. chain:                     請求轉發到action(action到action)
  4. redirectAction    重定向到action(action到action)
  5. stream:                           Struts2提供的檔案下載功能

 


2.3 Struts2對資料的封裝(兩大類三小類)

2.3.1 屬性驅動:提供屬性的set方法(不常用)

頁面:

 

Action

 

2.3.2 屬性驅動: 頁面中提供表示式

優點:可以同時向多個物件中封裝資料

頁面:

 

Action

 

2.3.3 模型驅動: 採用模型驅動(重點)

缺點:只能同時向一個物件中封裝資料。

頁面:

 

Action


2.4INPUT邏輯檢視

Action介面中提供了五個邏輯檢視的名稱:

  1. SUCCESS
  2. ERROR
  3. LOGIN
  4. INPUT                input在某些攔截器中會使用。
  5. NONE

 

使用:

取得錯誤資訊(在頁面上新增)

<@ taglib r=uri=”/struts-tags” prefix=”s”%>

<S:fielderror/>


2.5 複雜資料的封裝(使用屬性驅動:頁面表示式)

2.5.1 封裝資料到List集合中

頁面:

 

Action

 

2.5.2 封裝資料到Map集合中

頁面:

 

Action


Struts2框架與頁面的資料互動(2):https://blog.csdn.net/biggerchong/article/details/84573784

 

                                                                          ----謝謝閱讀!                           -------知飛翀