Struts2中Action的屬性接收引數

2021-08-27 12:55:13 字數 2360 閱讀 5672

action中三種傳遞並接受引數:

1、在action新增成員屬性接受引數

http://localhost:8080/struts2_0700_actionattrparaminput/user/user!add?name=a&age=8
其中傳遞了兩個引數:name和age,其值分別為:a、8,此action執行的是add()方法。

那我們只要在user這個action物件中新增這兩個成員屬性並生成set、get方法。

public class useraction extends actionsupport 

public string getname()

public void setname(string name)

public int getage()

public void setage(int age)

}

2、域模型(domain model)

就是利用物件域來進行傳遞和接受引數

其中,訪問的是namespace=」/user」 action的name=」user」 action所執行的方法method=」add」

利用物件域user來傳遞引數,為物件的屬性賦值(user.name=a user.age=8)

注:需要乙個物件user 並且這個物件需要有兩個成員屬性,且具有get、set方法。

然後在action中新增乙個user物件的成員屬性。並且有get、set方法,就可以了。

//user物件

public class user

public void setname(string name)

public int getage()

public void setage(int age)

}

//action類

public class useraction extends actionsupport

public user getuser()

public void setuser(user user)

}

3、modeldriven接收引數

使action實現com.opensymphony.xwork2.modeldriven(在實現介面時需要使用泛型,否則使用時需要轉型)中利用其getmodel()方法返回物件模型,從而獲得傳入的引數。

例如url如下:

其:訪問的是namespace=」/user」 action的name=」user」 action所執行的方法method=」add」,其傳入了兩個引數:name=a,age=8。

引數被傳入至action後,會被modeldriven物件根據引數名自動賦值給user物件相應的屬性而生成user物件,並且由getmodel()返回。那麼我們在action中就可以利用這個物件了。

注意:傳入的引數名需要與物件模型中的成員屬性一致。

物件模型user:

public class user 

public void setname(string name)

public int getage()

public void setage(int age)

}

action物件

import com.opensymphony.xwork2.actionsupport;

import com.opensymphony.xwork2.modeldriven;

public class useraction extends actionsupport implements modeldriven

@override

public user getmodel() }

struts2 中action返回的型別

在struts2框架中,當action處理完之後,就應該向使用者返回結果資訊,該任務被分為兩部分 結果型別和結果本身。結果型別提供了返回給使用者資訊型別的實現細節。結果型別通常在struts2中就已預定義好了 見下表 或者是由外掛程式提供,開發人員也可以自定義結果型別。預設配置的結果型別是dispa...

struts2的 action中得到標籤中的內容

最近用到struts2 標籤,要求在action中獲取標籤中的內容 出現這個問題後,發現確實很難實現,所以就google了下,但獲取答案卻不理想 但研究struts2的demo後,發現他們可以正常獲取的,所以就研究了下,發現問題其實很簡單 在此,借用下google時,搜尋到的乙個問題 然後提交到te...

struts2配置action驗證

背景 接昨天的struts2框架搭建 新增對action關聯form表單中input框輸入的內容進行校驗 操作測試完成後文件如下圖 使用者名稱不能為空 使用者名稱輸入不合法,必須為長度在6 16中間的數字或字母 true 密碼不能為空 密碼輸入不合法,必須為長度在6 16之間的數字或者字母 總結 配...