struts2接收引數的5種方法

2022-02-22 23:08:21 字數 3984 閱讀 7814

這裡總結下struts2接收引數的5種方法。

1. 使用action的屬性

在action裡面定義要接收的引數變數,並提供相應的setter,getter。定義的引數變數需要和提交引數的名稱一致。

並不用做資料型別的轉換,相應提交方式可以用get和post。

簡單舉例

如:login.action?name=yanggb&password=123456

jsp:

<

form

action

="login"

method

="post"

name

="form1"

>

使用者名稱:

<

s:textfield

name

="username"

/><

br/>

密 碼:

<

s:password

name

="password"

/><

br/>

<

s:submit

value

="提交"

/>

form

>

action:

public

class loginaction extends

actionsupport

public

void

setusername(string username)

public

string getpassword()

public

void

setpassword(string password)

}

這樣,在action就能接收到前端的請求引數。

2. 使用domainmodel

使用這種方式,在action裡面就不用定義很多的屬性,而是用model層用到的模型,儲存它的乙個物件。簡單理解就是,從上面的單個引數接收,改為多個引數一起接收到乙個物件中。相應提交方式可以用get和post。

簡單示例

如:login.action?loginuser.username=yanggb&loginuser.password=123456

jsp:

<

form

action

="login"

method

="post"

name

="form1"

>

使用者名稱:

<

s:textfield

name

="loginuser.username"

/><

br/>

密 碼:

<

s:password

name

="loginuser.password"

/><

br/>

<

s:submit

value

="提交"

/>

form

>

action:

public

class loginaction extends

actionsupport

public

void

setloginuser(user loginuser)

}

entity:

public

class

user

public

void

setusername(string username)

public

string getpassword()

public

void

setpassword(string password)

}

這樣,在action就能接收到前端的請求引數(可以通過實體去取引數)。

3. 使用dto--資料傳輸物件(data transfer object)

它的作用是接收引數和傳遞引數,並不是專案中的實體類。

如使用者註冊時,會用到確認密碼,所以要先把引數接收過來,做處理後,再傳遞給相應方法去建立user物件。

提交引數的方式和domain model方式相同。

簡單示例

如:login.action?userdto.name=yanggb&userdto.password=123456

dto:

public

class

userdto

public

void

setname(string name)

public

string getpassword()

public

void

setpassword(string password)

public

string getconfirm()

public

void

setconfirm(string confirm)

}

action:

public

class loginaction extends

actionsupport

public

void

setuserdto(userdto userdto)

public

void

execeute()

}

這樣,在action就能接收到前端的請求引數(可以通過dto去取引數)。

4.使用modeldriven

在建立action的時候,只要action實現了modeldriven介面,就可以去呼叫介面的getmodel()方法去取相關物件。

相應提交方式可以用get和post。

如:login.action?username=yanggb&password=123456

jsp:

<

form

action

="login"

method

="post"

name

="form1"

>

使用者名稱:

<

s:textfield

name

="username"

/><

br/>

密 碼:

<

s:password

name

="password"

/><

br/>

<

s:submit

value

="提交"

/>

form

>

action:

public

class loginaction extends actionsupport implements modeldriven

}

5.使用request物件

此方法與傳統的jsp等傳接引數一樣,即使用request.getparameter()方法來接收引數。

簡單示例

如:login.action?name=yanggb

action:

public

class loginaction extends

actionsupport

}

這種方式幾乎是最簡單的。

"有些事情不是你努力就會有結果,有些人也不是你堅持就能夠留得住。"

struts2 接收引數

1 採用基本型別接收請求引數 get post 在action類中定義與請求引數同名的屬性,struts2便能自動接收請求引數並賦予給同名屬性。請求路徑 do?id 23 name sss public class productaction private integer id public vo...

Struts2中Action接收引數的方法

struts2中action接收引數的方法主要有以下三種 1.使用action的屬性 屬性驅動 接收引數 推薦 a.定義 在action類中定義屬性,建立get和set方法 b.接收 通過屬性接收引數,如 username c.傳送 使用屬性名傳遞引數,如 user1 add?username ma...

struts2中action接收引數的方法

struts2中action接收引數的方法主要有以下三種 struts2中action接收引數的方法主要有以下三種 1.使用action的屬性接收引數 a.定義 在action類中定義屬性,建立get和set方法 b.接收 通過屬性接收引數,如 username c.傳送 使用屬性名傳遞引數,如 u...