Struts2的配置文件方法小結(jié)-創(chuàng)新互聯(lián)

Struts2

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、班戈網(wǎng)站維護(hù)、網(wǎng)站推廣。

JAVA基礎(chǔ)學(xué)完,肯定是要面臨三大框架的學(xué)習(xí)的,作為初學(xué)者,了解三大框架的原理,設(shè)計(jì)目的是首要任務(wù),只有在把握了框架的設(shè)計(jì)目的以后,才能有針對性的取學(xué)習(xí)使用框架,這里就要介紹下strue2框架了。

什么是Struts2?

Struts2 是一個(gè)非常優(yōu)秀的MVC框架,基于Model2 設(shè)計(jì)模型


由傳統(tǒng)Struts1和WebWork兩個(gè)經(jīng)典框架發(fā)展而來


Strust2 核心功能


(1)允許POJO(Plain Old Java Objects)對象 作為Action


(2)Action的execute 方法不再與Servlet API耦合,更易測試


(3)支持更多視圖技術(shù)(JSP、FreeMarker、Velocity)


(4)基于Spring AOP思想的攔截器機(jī)制,更易擴(kuò)展


(5)更強(qiáng)大、更易用輸入校驗(yàn)功能

struts2 配置文件的 result 節(jié)點(diǎn)


result 節(jié)點(diǎn)是 action 節(jié)點(diǎn)的子節(jié)點(diǎn),他代表著 action 方法執(zhí)行后可能去的一個(gè)目的地;


Action 方法名和 action 節(jié)點(diǎn)的 method 屬性相對應(yīng);


每個(gè) Action 方法都會(huì)返回一個(gè) String 類型的值且一一對應(yīng) result 節(jié)點(diǎn)的 name 屬性,而 result 節(jié)點(diǎn)根據(jù) name 屬性值決定響應(yīng)不一樣的結(jié)果;


result 節(jié)點(diǎn)擁有兩個(gè)屬性,name(結(jié)果的名字,即 action 方法的返回值,默認(rèn)為 SUCCESS) 和 type(響應(yīng)結(jié)果的類型,默認(rèn)值為 dispatcher)

如上圖中圈 1 所, result 節(jié)點(diǎn)的值代表著此次 struts2 請求將會(huì)去的一個(gè)目的地


result 節(jié)點(diǎn)的結(jié)果類型(type)

dispatcher(轉(zhuǎn)發(fā))

dispatcher 是 struts2 框架的默認(rèn)結(jié)果類型,也是最常用的結(jié)果類型,該類型有一個(gè)默認(rèn)的參數(shù) location,一般情況省略,如下兩種寫法等價(jià):

dispatcher 結(jié)果類型將控制權(quán)轉(zhuǎn)發(fā)給應(yīng)用程序中的指定資源,若需要把控制權(quán)轉(zhuǎn)發(fā)給 一個(gè)外部資源,則應(yīng)使用 redirect 結(jié)果類型


redirect(重定向)

  • redirect 結(jié)果類型將把響應(yīng)重定向到另一個(gè)資源,而不是轉(zhuǎn)發(fā)給該資源
  • redirect 也擁有默認(rèn)參數(shù) location,同時(shí)還有一個(gè) parse 參數(shù),用來表明是否把 location 值視為一個(gè) OGNL 表達(dá)式來解釋,默認(rèn)值為 true

chain (轉(zhuǎn)發(fā)到一個(gè) action)

  • 指定 result 結(jié)果響應(yīng)類型為 chain,其可以用來構(gòu)成一個(gè) action 鏈,即前一個(gè) action 把控制權(quán)轉(zhuǎn)發(fā)給后一個(gè) action,而前一個(gè) action 的狀態(tài)在后一個(gè) action 中依然保存
  • chain 可接受的參數(shù)有 actionName 和 method,其中 actionName 指定目標(biāo) action 的名字,它是默認(rèn)屬性,method 指定目標(biāo) action 的方法,默認(rèn)值為 execute

redirectAction (重定向到一個(gè) action)

  • redirectAction 把響應(yīng)重定向到另一個(gè) action,同時(shí)擁有默認(rèn)參數(shù) actionName
  • 重定向到一個(gè) action 可以使用 redirect 簡潔的進(jìn)行實(shí)現(xiàn),但是轉(zhuǎn)發(fā)到一個(gè) action 不能使用 dispatcher 實(shí)現(xiàn),如下兩種寫法等價(jià)

Struts2的配置文件方法小結(jié)

通配符映射

struts2 提供通配符映射機(jī)制將多個(gè)彼此相似的映射關(guān)系簡化為一個(gè)映射關(guān)系


通配符映射規(guī)則


  • 若一個(gè) action 請求找到多個(gè)匹配的 action,沒有通配符的那個(gè)將會(huì)獲勝
  • 若找不到指定的 action,struts2 將會(huì)嘗試把這個(gè) URL 與任何一個(gè)包含著通配符的動(dòng)作匹配
  • 被通配符匹配到的 URI 字符串的子串可以利用 {1} {2} 來引用,比如四個(gè) action 分別為
  • update-hello、query-hello、delete-hello、save-hello 那么在 struts.xml 文件中的 action
  • 的 name 屬性則可以為 name = -hello,且在整個(gè) action 節(jié)點(diǎn)中可以用 {1} 代表 所占用
  • 的字符串,class 中也可以使用 {1} 來代表類名
  • {0} 匹配整個(gè) URL
  • 若 struts2 找到帶有通配符的匹配有多個(gè),則按先后順序進(jìn)行匹配

如圖所示,在第一個(gè) package 中,* 可代表第二個(gè) package 中的他們四個(gè)。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對創(chuàng)新互聯(lián)的支持。

標(biāo)題名稱:Struts2的配置文件方法小結(jié)-創(chuàng)新互聯(lián)
URL標(biāo)題:http://muchs.cn/article20/ddsgjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、移動(dòng)網(wǎng)站建設(shè)、微信公眾號、網(wǎng)站維護(hù)、網(wǎng)站排名、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司