如何實現(xiàn)Action類:對于Struts2應(yīng)用開發(fā)者而言,Action才是應(yīng)用的核心,開發(fā)者需要提供大量Action類,并在S文件中配置Action。Action類里包含了對用戶請求的處理邏輯,Action類也被稱為業(yè)務(wù)控制器。
相對于Struts1而言,Struts2采用了低侵入式的設(shè)計,Struts2不要求Action類繼承任何的Struts2基類,或者實現(xiàn)熱河Struts2接口。在這種設(shè)計方式下,Struts2的Action是一個普通的POJO(通常應(yīng)該包含一個無參數(shù)的execute方法),從而有很好的代碼復(fù)用性。
Struts2通常直接使用Action來封裝HTTP請求參數(shù),因此,Action類里還應(yīng)該包含與參數(shù)對于金屬,并且,為這些屬性提供對應(yīng)的setter和getter方法。
例如,用戶請求包含User和pass兩個請求參數(shù),那么Action類應(yīng)該提供user和pass兩個屬性來封裝用戶的請求參數(shù),并且為user和pass提供對應(yīng)的setter和getter方法。下面是處理請求的Action類的代碼片段。
//處理用戶請求的Action類,只是一個POJO,無須繼承任何基類,無須實現(xiàn)任何接口
public class LoginAction
{
//提供兩個屬性來封裝HTTP請求參數(shù)
privata string user;
privata string pass;
//user 屬性的 getter和setter方法
public void setUser(string user)
{
= user;
}
public string getUser()
{
return ();
}
//pass 屬性的 getter 和setter 方法
public void setpass(string pass)
{
= pass;
}
public string getpass()
{
return ();
}
//Action類默認(rèn)處理用戶請求的方法:execute 方法
public String execute()
{
...
//返回處理結(jié)果字符串
return resultstr;
}
}
上面的Action類只是一個普通JAVA類,這個JAVA類提供了兩個屬性:user和pass(如程序中粗體字代碼所示),并為這兩個屬性提供了setter和getter方法,這兩個屬性分別對應(yīng)兩個HTTP請求參數(shù)。上面LoginAction中的execute()方法就是處理用戶請求的邏輯控制方法。
提示:即使Action處理的請求包含user和pass兩個HTTP請求參數(shù),Action類也可以不包含user和pass Field。因為系統(tǒng)是通過對應(yīng)的setter和getter方法來處理請求的參數(shù)的,而不是通過Field名來處理請求參數(shù)的。也就是說,如果包含了user的HTTP請求參數(shù),Action類里是否包含user Field不重要,重要的是需要包含void setUser(String user)和String getUser()兩個方法。
1.《javaaction如何接收數(shù)組》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點,與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《javaaction如何接收數(shù)組》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進(jìn)行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/keji/3238152.html