日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

struts1 几种Action父类的比较

發(fā)布時(shí)間:2025/7/14 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 struts1 几种Action父类的比较 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.Action,其它類型的Action的父類,只能實(shí)現(xiàn)其中的 execute()方法來(lái)處理業(yè)務(wù),缺點(diǎn)是,一個(gè)Action只能處理一個(gè)業(yè)務(wù),不能自定義處理多個(gè)業(yè)務(wù),所以一般很少用。

MappingDispatchAction為每個(gè)不同的處理方法都要在struts-config.xml配置對(duì)應(yīng)的action而DispatchAction

只需要配置一個(gè)然后利用給parameter字段賦值來(lái)區(qū)分。從我做項(xiàng)目的經(jīng)驗(yàn)來(lái)說(shuō),使用MappingDispatchAction恐怕是

最方便最直接了,因?yàn)樗钊菀渍{(diào)試。因?yàn)楦鶕?jù)form提交的action的不同就可以區(qū)分不同的方法(例如增加,刪除,修

改)但是缺點(diǎn)就是會(huì)是配置文件的內(nèi)容變多,而DispatchAction方法的配置看上去比較簡(jiǎn)潔,每種方法各有千秋。

5.DispatcherAction 類

DispatcherAction:能夠在同一個(gè) Action 類中完成一組相關(guān)的業(yè)務(wù)操作,以達(dá)到減少重復(fù)編程,使程序更加便于維護(hù)。
創(chuàng)建一個(gè)擴(kuò)展 DispatchAction 類的子類,不必覆蓋 excute() 方法,而是創(chuàng)建一些實(shí)現(xiàn)業(yè)務(wù)邏輯的方法,這些業(yè)務(wù)邏輯方法都應(yīng)該和 excute() 方法具有相同的方法簽名,即它們的參數(shù)和返回類型都應(yīng)該相同,此外也應(yīng)該聲明拋出Exception 異常.
在配置 DispatchAction 類時(shí),需要把 parameter 屬性的值設(shè)置為”method”.
把 parameter 的屬性配置為”method”后,當(dāng)用戶請(qǐng)求訪問(wèn) DispatchAction 時(shí),應(yīng)該提供 method 請(qǐng)求參數(shù).例如:
? http://localhost:9090/test/test?method=add
<action>的parameter屬性:指定 Action 的配置參數(shù)。在Action類的 excute() 方法中,可以調(diào)用 ActionMapping 對(duì)象的 getParameter() 方法來(lái)讀取配置參數(shù)

6.LookupDispatchAction 類

LookupDispatchAction 類:DispatcherAction 的子類,在該類中可以定義多個(gè)業(yè)務(wù)方法,適用于一個(gè)表單中有多個(gè)提交按鈕,且這些按鈕又都有一個(gè)共同名字的場(chǎng)合。
它與DispatchAction類的作用差不多,唯一不同的是:這個(gè)類是通過(guò)資源包中的key作為請(qǐng)求參數(shù)來(lái)進(jìn)行對(duì)方法的映射,而DispatchAction是通過(guò)請(qǐng)求參數(shù)來(lái)選擇方法.
LookupDispatchAction的用法:
用MessageResource將按鈕的文本和ResKey相關(guān)聯(lián)
在Action配置中一個(gè)parametr屬性,屬性值與submit按鈕的property屬性值相同,這個(gè)屬性可以指定執(zhí)行LookupDispatchAction中對(duì)應(yīng)的方法??
繼承LookupDispatchAction,重寫getKeyMethodMap()方法, 將ResKey和MethodName對(duì)應(yīng)起來(lái)?
DispatchAction 類使用請(qǐng)求參數(shù)的值確定調(diào)用哪種方法,而LookupDispatchAction類利用請(qǐng)求參數(shù)值,反向查詢資源綁定,并將它與類中的一種方法匹配,這兩種方法有異曲同工之妙。?


7.MappingDispatchAction 類

該類是 DispatchAction的子類,用于將相關(guān)的請(qǐng)求組織到一個(gè)Action之中。
MappingDispatchAction的用法:
將一個(gè) MappingDispatchAction 類根據(jù)不同的請(qǐng)求進(jìn)行多次聲明,其中path屬性因請(qǐng)求的不同而不同,并為每個(gè) action 添加 parameter 屬性來(lái)指定相同 Action 類處理不同請(qǐng)求的方法名
創(chuàng)建一個(gè)擴(kuò)展 MappingDispatchAction 類的子類,不必覆蓋 excute() 方法,而是創(chuàng)建一些實(shí)現(xiàn)業(yè)務(wù)邏輯的方法,這些業(yè)務(wù)邏輯方法都應(yīng)該和 excute() 方法具有相同的方法簽名,即它們的參數(shù)和返回類型都應(yīng)該相同,此外也應(yīng)該聲明拋出Exception 異常.
與DispatcherAction的區(qū)別:
MappingDispatcherAction:當(dāng)想要為相同的Action定義多個(gè)表單操作處理器的時(shí)候,使用它
DispatcherAction:如果基于某種理由不想要定義多個(gè)表單操作處理器的時(shí)候,使用它

轉(zhuǎn)載于:https://www.cnblogs.com/gywbg/archive/2012/04/20/2459338.html

總結(jié)

以上是生活随笔為你收集整理的struts1 几种Action父类的比较的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。