屬性驅動方式對使用者 的請求封裝在action中,下面是乙個簡單的例項
package com.demo.action;
public
class
useraction
public
void
setusername(string username)
public string getpassword()
public
void
setpassword(string password)
public string execute() throws exception else
} }
jsp頁面中的表單輸入的標籤name直接與封裝在action中的屬性名對應,注意實際上是對應了屬性的get,set方法,setusername<—->username
action="login"
method="post">
width="423"
height="264"
border="1"
align="center">
colspan="2">
登入center>
td>
tr>
width="140"> 使用者名稱:td>
width="267">
for="textfield">
label>
type="text"
name="username"
id="textfield">
td>
tr>
width="140"> 密碼:td>
width="267">
for="textfield">
label>
type="text"
name="password"
id="textfield2">
td>
tr>
height="51"
colspan=""
2>
type="submit"
name="button"
id="button"
value="提交">
td>
tr>
table>
form>
屬性驅動中的action既要封裝使用者的請求又要承擔控制邏輯的角色,這樣的模式**不夠清爽清晰,所以應該採用單獨的model例項 的方式來封裝使用者請求,這就是模型驅動 Structs2 命名空間
在學習structs2的過程中,遇到了namsapce,雖然比較好理解,但是在使用的過程中還是遇到些問題,便將其記錄下來。作用 為了解決包含同乙個action的問題,在相同的命名空間裡不能存在相同的action,但是不同的命名空間裡,可以存在相同的action。須知 structs2不支援單獨為ac...
structs2 工作原理
乙個請求在struts2框架中的處理大概分為以下幾個步驟 1 客戶端初始化乙個指向servlet容器 例如tomcat 的請求 2 這個請求經過一系列的過濾器 filter 這些過濾器中有乙個叫做actioncontextcleanup的可選過濾器,這個過濾器對於struts2和其他框架的整合很有幫...
structs2 的工作原理
actionproxy和actioninvocation actionproxy是在xwork和真正的action之間充當 角色,在通過框架執行action的過程中,因為使用的是 而不是直接操縱物件,所以在 中封裝 result等二外的 actionproxy持有actioninvocation物件...