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:
packageaction;
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實體類
packagemodels;
public
class
user
public
void
setusername(string username)
public
string getpassword()
public
void
setpassword(string password)
}
在action中
packageaction;
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:
packageaction;
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....