今天有朋友問我Struts2中Action必須實現execute方法嗎?順利的回答出來了。
其實分兩種情況:
1)如果你的Action類是繼承自ActionSupport或是BaseAction的話,確切的說是重寫了execute方法,ActionSupport里的默認實現就是返回"success"視圖。因此,你可以不實現execute方法,只要你的struts.xml里有"success"對應的result即可。
1
2
3
4
5
6
|
<action name= "doRevenuesMaintenance" > <interceptor-ref name= "novatar-webStack-baseparam" > <param name= "security.actionType" >PRIVATE</param> </interceptor-ref> <result name= "success" >incomeMaintenance.jsp</result> < /action> |
這段代碼中就是通過action的配置文件來控制跳轉頁面。在action的類中沒有execute()方法重寫。
2)如果你的Action類沒有繼承ActionSupport或是BaseAction的話,而你又沒有在struts.xml中對應<action>標簽中用method屬性指定你自己的方法的話,默認就要找execute方法,這時是必須要實現execute方法的,否則Struts2會找不到對應的方法而報錯。
不過,大部分情況下都是繼承ActionSupport的(比如輸入驗證、文件上傳等功能就要求必須繼承)。還有,不管你寫沒寫execute方法,還是可以用<action>標簽的method屬性指定其他方法的。
以上所述是小編給大家介紹的Struts2中Action中是否需要實現Execute方法的相關介紹,希望對大家有所幫助!