Struts2配置文件中使用通配符的方法(三種形式)
Struts2簡(jiǎn)介
Struts2是一個(gè)基于MVC設(shè)計(jì)模式的Web應(yīng)用框架,它本質(zhì)上相當(dāng)于一個(gè)servlet,在MVC設(shè)計(jì)模式中,Struts2作為控制器(Controller)來(lái)建立模型與視圖的數(shù)據(jù)交互。Struts 2是Struts的下一代產(chǎn)品,是在 struts 1和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并的全新的Struts 2框架。其全新的Struts 2的體系結(jié)構(gòu)與Struts 1的體系結(jié)構(gòu)差別巨大。Struts 2以WebWork為核心,采用攔截器的機(jī)制來(lái)處理用戶(hù)的請(qǐng)求,這樣的設(shè)計(jì)也使得業(yè)務(wù)邏輯控制器能夠與ServletAPI完全脫離開(kāi),所以Struts 2可以理解為WebWork的更新產(chǎn)品。雖然從Struts 1到Struts 2有著太大的變化,但是相對(duì)于WebWork,Struts 2的變化很小。
形式一:調(diào)用相同Action中的不同方法
<action name="*Action" class="Jcuckoo.LoginRegistAction" method="{1}"> <result name="input">/login.jsp</result> <result name="error">/error.jsp</result> <result name="success">/welcome.jsp</result> </action>
其中表達(dá)式{1}的值name屬性值中第一個(gè)*的值。
如果用戶(hù)請(qǐng)求的URL為loginAction.action,則調(diào)用Jcuckoo.LoginRegistAction中的login方法;
如果用戶(hù)請(qǐng)求的URL為registerAction.action,則調(diào)用Jcuckoo.LoginRegistAction中的register方法;
形式二:通過(guò)匹配,調(diào)用不同的Action的execute方法
<action name="*Action" class="Jcuckoo.{1}Action"> <result name="input">/login.jsp</result> <result name="error">/error.jsp</result> <result name="success">/welcome.jsp</result> </action>
上面沒(méi)有出現(xiàn)method屬性,故默認(rèn)調(diào)用對(duì)應(yīng)的execute方法
如果用戶(hù)請(qǐng)求的URL為L(zhǎng)oginAction.action,則調(diào)用Jcuckoo.LoginAction中的execute方法;
如果用戶(hù)請(qǐng)求的URL為RegisterAction.action,則調(diào)用Jcuckoo.RegisterAction中的execute方法;
形式三:動(dòng)態(tài)結(jié)果
<action name="crud_*" class="Jcuckoo.CrudAction" method="{1}"> <result name="input">/input.jsp</result> <result>/{1}.jsp</result> </action>
當(dāng)處理結(jié)果是input時(shí),會(huì)轉(zhuǎn)到/input.jsp頁(yè)面
當(dāng)處理結(jié)果是success時(shí),
如果crud_create.action,則會(huì)執(zhí)行Jcuckoo.CrudAction中的create方法,并且跳轉(zhuǎn)到/create.jsp;
如果crud_delete.action,則會(huì)執(zhí)行Jcuckoo.CrudAction中的delete方法,并且跳轉(zhuǎn)到/delete.jsp;
總結(jié)
以上所述是小編給大家介紹的Struts2配置文件中使用通配符的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
如何使用SpEL表達(dá)式實(shí)現(xiàn)動(dòng)態(tài)分表查詢(xún)
這篇文章主要介紹了如何使用SpEL表達(dá)式實(shí)現(xiàn)動(dòng)態(tài)分表查詢(xún),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12SpringBoot自定義定時(shí)任務(wù)的實(shí)現(xiàn)示例
本文主要介紹了SpringBoot自定義定時(shí)任務(wù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05詳述 DB2 分頁(yè)查詢(xún)及 Java 實(shí)現(xiàn)的示例
本篇文章主要介紹了詳述 DB2 分頁(yè)查詢(xún)及 Java 實(shí)現(xiàn)的示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09Java為何需要平衡方法調(diào)用與內(nèi)聯(lián)
這篇文章主要介紹了Java為何需要平衡方法調(diào)用與內(nèi)聯(lián),幫助大家更好的理解和使用Java,感興趣的朋友可以了解下2021-01-01SpringBoot中整合knife4j接口文檔的實(shí)踐
這篇文章主要介紹了SpringBoot中整合knife4j接口文檔的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09SpringBoot結(jié)果封裝和異常攔截的實(shí)現(xiàn)示例
SpringBoot 項(xiàng)目中,我們通常需要將結(jié)果數(shù)據(jù)封裝成特定的格式,以方便客戶(hù)端進(jìn)行處理,本文主要介紹了SpringBoot?優(yōu)雅的結(jié)果封裝和異常攔截,感興趣的可以了解一下2023-08-08