一:靜態資料封裝
靜態資料封裝,就是將資料寫死
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...