struts2框架詳細(xì)介紹.ppt_第1頁
struts2框架詳細(xì)介紹.ppt_第2頁
struts2框架詳細(xì)介紹.ppt_第3頁
struts2框架詳細(xì)介紹.ppt_第4頁
struts2框架詳細(xì)介紹.ppt_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、struts框架詳細(xì)介紹,struts框架的組成部分,struts-config.xml Struts配置文件 ActionServlet 控制器 Action Class 包含事務(wù)邏輯 ActionForm 顯示模塊數(shù)據(jù),struts框架的組成部分,ActionMapping幫助控制器將請(qǐng)求映射到操作 ActionForward用來指示操作轉(zhuǎn)移的對(duì)象 ActionError用來存儲(chǔ)和回收錯(cuò)誤 Struts標(biāo)記庫,struts框架的優(yōu)勢(shì),良好的架構(gòu)和設(shè)計(jì) 可重用,模塊化,擴(kuò)展性好 Open source,struts-config.xml,Struts-config.xml集中了所有頁面的導(dǎo)航

2、定義。對(duì)于大型的WEB項(xiàng)目,通過此配置文件即可迅速把握其脈絡(luò),這不管是對(duì)于前期的開發(fā),還是后期的維護(hù)或升級(jí)都是大有裨益的。掌握Struts-config.xml是掌握Struts的關(guān)鍵所在。,struts-config.xml(FormBean部分), ,struts-config.xml(全局轉(zhuǎn)發(fā)部分), ,struts-config.xml(action部分), ,ActionServlet,ActionServlet 是struts框架 MVC 實(shí)現(xiàn)的 controller 部分,它是這一框架的核心。 ActionServlet 創(chuàng)建并使用 Action、ActionForm 和 Act

3、ionForward。,ActionServlet的基本功能,截獲用戶的Http請(qǐng)求 把這個(gè)請(qǐng)求映射到相應(yīng)的Action類。 創(chuàng)建一個(gè)ActionForm bean實(shí)例,將form請(qǐng)求放入formbean的實(shí)例中,ActionServlet的基本功能,調(diào)用Action實(shí)例的perform()方法 將ActioForm bean,Action Mapping對(duì)象,request和response對(duì)象傳給Action的perform()方法 perform返回一個(gè)ActionForword對(duì)象,根據(jù)方法執(zhí)行情況轉(zhuǎn)到相應(yīng)的jsp頁面.,Action Classes,Action 類是業(yè)務(wù)邏輯的一個(gè)包

4、裝。Action 類的用途是將 HttpServletRequest 轉(zhuǎn)換為業(yè)務(wù)邏輯。,ActionForm,ActionForm 維護(hù) Web 應(yīng)用程序的會(huì)話狀態(tài)。 ActionForm 是一個(gè)抽象類,必須為每個(gè)輸入表單模型創(chuàng)建該類的子類。,ActionForm的使用,假定有一個(gè)由 HTML 表單設(shè)置的 TestActionForm。Struts 框架將執(zhí)行以下操作: 檢查 TestActionForm是否存在;如果不存在,它將創(chuàng)建該類的一個(gè)實(shí)例。 Struts 將使用 HttpServletRequest 中相應(yīng)的域設(shè)置 TestActionForm的狀態(tài)。,ActionForm的使用,S

5、truts 框架在將 TestActionForm傳遞給TestAction 之前將更新它的狀態(tài)。 struts-config.xml 文件控制 HTML 表單請(qǐng)求與 ActionForm 之間的映射關(guān)系。 可將多個(gè)請(qǐng)求映射到 TestActionForm 。,Struts標(biāo)記庫,Struts框架包括自定義標(biāo)簽庫,它可以用在很多方面。盡管這些庫并不要求用框架,但使用它們會(huì)有助于程序的開發(fā)。,Struts標(biāo)記庫,struts-bean taglib:包含在訪問bean和bean屬性時(shí)使用的tag,也包含一些消息顯示的tag。 struts-html taglib:包含用來生成動(dòng)態(tài)HTML用戶界面

6、和窗體的tag。 struts-logic taglib :包含的tag用來管理根據(jù)條件生成輸出文本,和其它一些用來控制的信息。 struts-template taglib包含的tag用來定義模板機(jī)制。,Bean Taglib,用于定義新bean、訪問bean及其屬性的標(biāo)記 在struts-bean.tld中定義了它的標(biāo)記庫描述器,Bean Taglib主要功能,創(chuàng)建和復(fù)制bean的標(biāo)記 腳本變量定義標(biāo)記 bean翻譯標(biāo)記 消息國際化標(biāo)記,Bean復(fù)制標(biāo)記 (),可定義新bean,可復(fù)制現(xiàn)有bean,還可從現(xiàn)有bean復(fù)制屬性。 定義新字符串常數(shù) 將現(xiàn)有的bean復(fù)制到新定義的bean對(duì)象

7、復(fù)制現(xiàn)有bean的屬性來創(chuàng)建新的bean,標(biāo)記屬性:,Id新定義的bean腳本變量名稱,必須設(shè)置 Type定義引入腳本變量的類 Value為id屬性定義的腳本變量分配一個(gè)新的對(duì)象,標(biāo)記屬性:,Name目標(biāo)bean的名稱。若value屬性沒有設(shè)置,這個(gè)屬性就必須設(shè)置 propertyName屬性定義的bean的屬性名稱,用來定義新的bean Scope源bean的作用域。若沒有設(shè)置,搜索范圍是從頁作用域到應(yīng)用程序作用域 toScope目標(biāo)bean的作用域。若沒有設(shè)置,默認(rèn)值是頁作用域,舉例,定義一個(gè)bean: 源bean在頁作用域中被拷貝到請(qǐng)求作用域中的另一個(gè)bean: ,腳本變量的標(biāo)記,從多種

8、資源中定義和生成腳本變量,這些資源包括cookie,請(qǐng)求參數(shù),HTTP標(biāo)頭等等。,腳本變量的標(biāo)記屬性:,Id 腳本變量和要定義的頁作用域 屬性的名稱 Name cookie/標(biāo)頭/參數(shù)的名稱 Value 如果沒有匹配的cookie或數(shù)值,就返回這個(gè)屬性指定的默認(rèn)值,腳本變量的標(biāo)記屬性:,multiple如果這個(gè)屬性設(shè)置了任意一個(gè)數(shù)值,所有匹配的cookie都會(huì)被積累并存儲(chǔ)到一個(gè)Cookie(一個(gè)數(shù)組)類型的bean里 若無設(shè)置,指定cookie的第一個(gè)值將作為Cookie類型的值,舉例, 腳本變量名稱是myCookie,用來創(chuàng)建這個(gè)屬性的cookie的名稱是userName。 腳本變量名稱是m

9、yHeader,請(qǐng)求標(biāo)頭的名稱是Accept-Language.,舉例, 腳本變量名稱是myPatameter,它保存的請(qǐng)求參數(shù)的名稱也是myParameter,邏輯標(biāo)記,Struts邏輯標(biāo)簽庫包含的標(biāo)記能夠有條件地產(chǎn)生輸出文本 在對(duì)象集合中循環(huán)從而重復(fù)地產(chǎn)生輸出文本,以及應(yīng)用程序流程控制 它也提供了一組在JSP頁中處理流程控制的標(biāo)記 邏輯標(biāo)記封裝在文件名為struts-logic.tld的標(biāo)記包中,邏輯標(biāo)記庫的功能,條件邏輯 重復(fù) 轉(zhuǎn)發(fā)/重定向響應(yīng),條件邏輯標(biāo)記,第一類可以比較下列實(shí)體與一個(gè)常數(shù)的大小 第二類在計(jì)算標(biāo)記體之前判斷特定的項(xiàng)目是否存在 第三類根據(jù)模板匹配的結(jié)果檢查標(biāo)記體的內(nèi)容,第

10、一類條件邏輯標(biāo)記,如果常數(shù)與被定義的實(shí)體相等,返回true 如果常數(shù)與被定義的實(shí)體不相等,返回true 如果常數(shù)大于等于被定義的實(shí)體,返回true,第一類條件邏輯標(biāo)記,如果常數(shù)小于等于被定義的實(shí)體,返回true 如果常數(shù)小于被定義的實(shí)體,返回true 如果常數(shù)大于被定義的實(shí)體,返回true,舉例,判斷名為name的請(qǐng)求參數(shù)的值是否是SomeName。 The entered name is SomeName ,舉例,判斷在頁的作用域中是否有一個(gè)名為bean的bean,它有一個(gè)prop屬性,這個(gè)屬性的值是否大于7。 如果這個(gè)屬性能夠轉(zhuǎn)化為數(shù)值,就進(jìn)行數(shù)值比較,否則就進(jìn)行字符串比較。 The va

11、lue of bean.Prop is greater than 7 ,第二類條件邏輯標(biāo)記, ,第三類條件邏輯標(biāo)記, ,重復(fù)標(biāo)記,它能夠根據(jù)特定集合中元素的數(shù)目對(duì)標(biāo)記體的內(nèi)容進(jìn)行重復(fù)的檢查 集合的類型 java.util.Iterator java.util.Collection java.util.Map java.util.List 數(shù)組,舉例,Strlst是一個(gè)包含字符串的List,現(xiàn)在要將他內(nèi)部的字符串全都顯示在瀏覽器里 ,轉(zhuǎn)發(fā)標(biāo)記,標(biāo)記能夠?qū)㈨憫?yīng)轉(zhuǎn)發(fā)給重定向到特定的全局ActionForward上 ActionForward的類型決定了是使用PageContext轉(zhuǎn)發(fā)響應(yīng),還是使用sendRedirect將響應(yīng)進(jìn)行重定向 此標(biāo)記只有一個(gè)name屬性,用來指定全局ActionForward的名稱,例如: ,重定向標(biāo)記,標(biāo)記是一個(gè)能

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論