今天有朋友問我Struts2中Action必須實現execute方法嗎?順利的回答出來了。
其實分兩種情況:
1)如果你的Action類是繼承自ActionSupport或是BaseAction的話,確切的說是重寫了execute方法,ActionSupport里的默認實現就是返回"success"視圖。因此,你可以不實現execute方法,只要你的struts.xml里有"success"對應的result即可。
<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方法的相關介紹,希望對大家有所幫助!
新聞熱點
疑難解答