Struts2框架與頁面的資料互動(1)--資料封裝
2、Struts2框架與頁面的資料互動(1)--資料封裝
上接Sturts2框架入門學習:https://blog.csdn.net/biggerchong/article/details/84540183
目錄
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屬性: 設定頁面跳轉的型別
- dispatcher: 請求轉發
- redirect: 頁面重定向
- chain: 請求轉發到action(action到action)
- redirectAction: 重定向到action(action到action)
- stream: Struts2提供的檔案下載功能
2.3 Struts2對資料的封裝(兩大類三小類)
2.3.1 屬性驅動:提供屬性的set方法(不常用)
頁面:
Action:
2.3.2 屬性驅動: 頁面中提供表示式
優點:可以同時向多個物件中封裝資料
頁面:
Action:
2.3.3 模型驅動: 採用模型驅動(重點)
缺點:只能同時向一個物件中封裝資料。
頁面:
Action:
2.4INPUT邏輯檢視
Action介面中提供了五個邏輯檢視的名稱:
- SUCCESS
- ERROR
- LOGIN
- INPUT :input在某些攔截器中會使用。
- 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
----謝謝閱讀! -------知飛翀