前端向後台傳遞引數
在後台獲取前端傳遞的引數時,一定要建立get(),set()方法,使用物件驅動時還要保證存在無參構造
1.屬性驅動獲得引數
通過在action類中建立與前端頁面中name值相同的屬性值,並建立get()
與set()
方法,同時還可以自動轉換資料型別,但是只支援8大基本資料型別以及包裝類的轉換.
在下面**中user與pwd都能獲取到
private string user;
private string pwd;
public string login()
前端頁面
action
="$/loginaction.action"
method
="post"
>
onfocus
="ts('tsxx')"
type
="text"
name
="user"
>
>
>
type
="submit"
value
="登入"
>
form
>
物件驅動獲取引數
可以在action類中直接封裝複雜型別的屬性值,要繼承乙個名為actionsupport
的父類,
在前端頁面中書寫name
值時, 需要在屬性值寫屬性名.子屬性名
user物件中存在name與password屬性
private user user;
public string login()
前端頁面
action
="$/loginaction.action"
method
="post"
>
onfocus
="ts('tsxx')"
type
="text"
name
="user.name"
>
>
>
type
="submit"
value
="登入"
>
form
>
模型驅動獲取引數
模型驅動獲取引數需要繼承actionsupport
的父類同時要實現modeldriven
介面,其中t
為要接收引數的型別,前端頁面中的name
值與t
物件中的屬性值一樣即可.
public
class
loginaction
extends
actionsupport
implements
modeldriven
@override
public user getmodel()
}
前端頁面直接寫user物件中的屬性名即可
action
="$/loginaction.action"
method
="post"
>
onfocus
="ts('tsxx')"
type
="text"
name
="user"
>
>
>
type
="submit"
value
="登入"
>
form
>
後台向前端傳值通過屬性方法傳值,在前端獲取是需要用到struts標籤庫,get與set方法一定要寫
private user user;
private string msg;
public string login()
else
}
前端jsp頁面需要匯入struts的標籤庫
//匯入標籤庫**
<%@ taglib prefix="s" uri="/struts-tags" %>
//接收引數**
<
s:property
value
="msg"
/>
通過actioncontext.getcontext().put(key, value);
把值放到context中,前端取值時
即可 struts2 引數傳遞問題
struts2的引數傳遞應用3個方法。舉乙個例子,通過頁面ext的呼叫,傳遞引數的時候。action是如何得到引數的。ext.ajax.request 這個是前台ext呼叫struts2的action 後台得到引數有三種方法,一 在action中對這個些引數進行setter getter,然後在呼叫...
Struts2 前後臺的資料互動
request.getparameter str request.getattribute str 從valuestack取值 value name value user value user.id 從actioncontext中取值.取值的時候需要加上乙個符號 value user value u...
struts2中的引數傳遞
這個問題其實一直很困惑我的,在寫平常的jsp程式時,傳遞引數很容易,通過表單,request,鏈結等都可以傳遞,但是到了struts2中,在寫的各個地方,都看不到任何的request或是response,不知道該怎麼傳遞引數了,到了今天學習了struts2中的引數傳遞這一節,終於解開了疑惑,但是還不...