struts2 頁面向Action傳參方式

2021-09-07 06:42:01 字數 2925 閱讀 4359

1、基本屬性注入

我們可以直接將表單資料項傳遞給action,而action只需要提供基本的屬性來接收引數即可,這種傳參方式稱為基本屬性注入。例如

jsp頁面:

<

s:form

method

="post"

action

="/login"

>

<

s:textfield

name

="username"

label

="使用者名稱"

/>

<

s:password

name

="password"

label

="密碼"

/>

<

s:submit

>

s:submit

>

s:form

>

action:

package

action;

import

com.opensymphony.xwork2.action;

import

com.opensymphony.xwork2.actioncontext;

import

models.user;

public

class

loginaction

public

void

setusername(string username)

public

string getpassword()

public

void

setpassword(string password)

public

string execute()

//使用者名稱和密碼正確

else

}}

只需要在action中提供username和password兩個屬性,並提供了set***()方法,就可以實現引數的自動傳遞,這裡不需要成員變數的名稱和引數名稱一致,只需要set***()對於的屬性名和引數名相同就行

2、域模型注入

如果表單上的資料項很多,我們可以將表單中的資料項封裝成實體物件後傳遞給action,而action需要提供實體物件屬性來接收引數,這種傳參的方式稱為域模型注入。

如上面例子,可以先定義乙個user實體類

package

models;

public

class

user

public

void

setusername(string username)

public

string getpassword()

public

void

setpassword(string password)

}

在action中

package

action;

import

com.opensymphony.xwork2.action;

import

com.opensymphony.xwork2.actioncontext;

import

models.user;

public

class

loginaction

public

void

setuser(user user)

public

string execute()

//使用者名稱和密碼正確

else

}}

jsp頁面:

<

s:textfield

name

="user.username"

label

="使用者名稱"

/>

<

s:password

name

="user.password"

label

="密碼"

/>

<

s:submit

>

s:submit

>

3、模型驅動傳引數(model driven)

action:

package

action;

import

com.opensymphony.xwork2.action;

import

com.opensymphony.xwork2.actioncontext;

import

com.opensymphony.xwork2.modeldriven;

import

models.user;

public

class loginaction implements modeldriven

//使用者名稱和密碼正確

else

}public

user getmodel()

}

jsp頁面

<

s:textfield

name

="username"

label

="使用者名稱"

/>

<

s:password

name

="password"

label

="密碼"

/>

<

s:submit

>

s:submit

>

struts2頁面配置

建立兩個action 方法返回值相同,要到達的頁面也相同,這個時候可以採用全域性結果頁面配置。如下 hello.jsp 如果action標籤下面也配置了區域性的result,即區域性變數和全域性變數同時存在的時候,以區域性變數的結果為準。result 標籤中type屬性值 1 如果配置結果是轉向別的...

Struts2頁面取值問題

struts2頁面取值 後總結出了4種取值得辦法 1 struts2頁面開發中常用標籤使用說明 1.1 往action裡傳值的使用方式 a.username屬性需要在訪問的action中提供相應的屬性,並有set get方法。b.可以不在訪問的action中提供相應的屬性,用request.getp...

Struts2 頁面資料處理

1 輸出session中的值 a.s property value session key b.2 獲取session中的值後判斷 s if test session key null 3 輸出action中的屬性值 s property value property 4 輸出國際化檔案中的值 a....