Struts2資料封裝

2021-08-03 13:37:03 字數 3061 閱讀 4440

一:靜態資料封裝

靜態資料封裝,就是將資料寫死

struts.xml

name="staticparam"

extends="struts-default">

name="staticparam"

class="staticparam.staticparamaction"

method="login">

name="username">123param>

name="password">123param>

action>

package>

action

public

class staticparamaction

public

staticparamaction()

public string getpassword()

public

void

setpassword(string password)

public string getusername()

public

void

setusername(string username)

}

動態引數封裝:屬性驅動-普通屬性(提供set get)方法

action

public

class

useraction

extends

actionsupport

public

useraction()

public string getpassword()

public

void

setpassword(string password)

public string getusername()

public

void

setusername(string username)

}

jsp

action="$/login1.action"

method="post">

for="user">使用者名稱:label>

id="user"

name="username"

type="text">

for="password">密碼:label>

id="password"

name="password"

type="text">

type="submit"

value="登入">

form>

跟靜態引數封裝一樣,只不過這裡獲取的是表單中的引數,也就是請求傳送過來的資料.依靠的***params,其中該***做的事有兩件

一是對提交的引數進行資料校驗,判斷是否合法,判斷是否合法的標準就是***中的excludeparams引數的正規表示式的值.

二是將其封裝到值棧中的棧頂元素中去,而當前action就在棧頂,所以能夠將引數放入action中

動態引數封裝:屬性驅動–複雜屬性:ognl

action

public

class

personaction

extends

actionsupport

public person getperson()

public

void

setperson(person person)

}

jsp

action="$/login2.action"

method="post">

for="user">使用者名稱:label>

id="user"

name="person.username"

type="text">

for="password">密碼:label>

id="password"

name="person.password"

type="text">

type="submit"

value="登入">

form>

在jsp頁面的person.username和person.password 其實就是ognl表示式,代表著往根(root ,值棧valuestack)中存放值,而值棧中的棧頂元素也就是為當前action,我們在action中設定person的set get屬性,即可讓存進來的值匹配到,進而將對應屬性賦值成功

模型驅動

action

public

class

customeraction

extends

actionsupport

implements

modeldriven

public customer getcustomer()

public

void setcustomer(customer customer)

@override

public customer getmodel()

}

jsp

action="$/login3.action"

method="post">

for="user">使用者名稱:label>

id="user"

name="username"

type="text">

for="password">密碼:label>

id="password"

name="password"

type="text">

type="submit"

value="登入">

form>

必須實現modeldriven介面 ,提供乙個getmodel()

modeldriven***將getmodel方法返回的結果壓入職棧,而我們的表單引數會從值棧中從上往下進行查詢,自然就直接將引數封裝到物件中了

Struts2的資料封裝

struts2框架是乙個web框架 並提供了資料分裝功能 資料封裝方式 屬性驅動封裝 屬性驅動封裝之提供set方法 不常用 我們以示例來講解 先來乙個簡單的使用者表單提交頁面 重點jsp 編寫action 主要 我們使用第二種方式 繼承 public class useraction extends...

Struts2字尾 深入Struts2

一 將action字尾變成html字尾 xmlversion 1.0 encoding utf 8 doctype struts public apache software foundation dtd struts configuration 2.1 en struts include file...

Struts2學習資料

strust2的核心和工作原理 漂亮回答面試官strust2的原理 struts2的工作原理 struts2的工作原理 總體上來說是這樣的 1 客戶端傳送請求 客戶端初始化乙個指向servlet容器 如tomcat 的請求 2 請求經過一系列過濾器 如actioncontextcleanup sit...