Struts2前後臺引數傳遞

2021-08-31 03:43:27 字數 2496 閱讀 8942

前端向後台傳遞引數

在後台獲取前端傳遞的引數時,一定要建立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中的引數傳遞這一節,終於解開了疑惑,但是還不...