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