Struts 的action請求方式

2021-08-27 20:12:37 字數 1561 閱讀 2042

在struts2中關於action的請求url請求基本上由三種情況:

首先要先提下struts在傳送請求的處理流程:

客戶端請求(http://localhost:8080/helloworld/stu/stuadd)->tomcat接收請求->根據helloworld這個專案來載入處理web.xml->把請求交給strutstfilter來處理,strutsfilter交給dofilter處理->dofilter根據struts.xml找到對應的namespace、action,及action處理完成返回的資訊來顯示呼叫對應的result頁面->返回給客戶端

struts.xml配置如下:

#1:不指定 由studentaction中的預設函式execute來處理

/student_index.jsp

#2:指定來處理

/student_index.jsp

/student_add.jsp

/student_add_error.jsp

#3:

/user_add.jsp

#4:萬用字元處理

/_.jsp

引數傳遞:struts中引數傳遞有基本三種方法:

1:action接收引數:

1:由action中的get***(),set***()來處理引數的接收,其中的action的屬性名稱不一定要傳遞的引數的名稱一樣,但是get***後面的名稱一定要一致。

**:

public class useraction extends actionsupport

public void setname(string name)

public int getage()

public void setage(int age)

//引數和成員變數時一一對應的 型別自動轉換

private string name;

private int age;

public string add()

} 2:域模型物件

建立乙個域模型物件接收引數此時引數的傳遞:user.name=.....

同時由於可能域模型欄位比要接收的字段少比如password的輸入的驗證,這時可以使用dto(資料傳輸物件)

作為中間的資料接收然後再傳遞來處理

dto:資料傳輸物件

do:資料物件

3:modeldriven 模型驅動

**:使用的是com.opensymphony.xwork2.modeldriven;模型驅動類

student類中,這是需要單獨的new出來乙個student物件

public class studentaction extends actionsupport implements modeldriven

public string add()

return "add_student";

}@override

public student getmodel()

@override

public string execute()

}

Struts2之action接收請求引數

1.採用基本型別接受請求引數 get post action public class getparamaction extends actionsupport public void setname string name public int getage public void setage ...

Struts2 action處理業務請求

struts.devmode value true struts.i18n.encoding value utf 8 default namespace extends struts default hello class action.helloaction hello.jsp taglib標籤庫...

Struts1 生成Action請求的幾種方式分析

1 直接硬編碼 a href lesson14 struts1 demo1 user reguserdo.do 註冊 a br 專案名,請求字尾,都是固定死的 2 使用el表示式 a href user reguserdo.do 註冊 a br 專案名稱實現了動態獲取,但是請求字尾還是固定 3 使用...