Struts2之我見系列總結---- Struts接收參數的方式(2012.12.22)

1.  Action 的屬性接收參數

2. 使用Domain ModelModel接收參數

3. 使用DTO--DTO--數據傳輸對象接收參數

4. 使用 ModelDriven接收參數

5. 使用request 對象接收參數

 

詳細解釋:

1. Action 的屬性:

action 裏面定義要接收的參數,並提供相應的setter,getter,和提交參數的名稱一致,並不用做數據類型的轉換。

相應提交方式可以用get post,如:testAction? name=admin

如:

   public class  TestAction extends BaseAction{

private static final long serialVersionUID = -7463970150000893325L;

private String name;

public void execeute() {

System.out.println(name +" : " + name);

}

public String getName() {

return name;

}

public void setName(String name) {

thisthis.name = name;

}

}

2. 使用Domain ModelModel

Action 裏面不存很多的屬性,而是用Model 層用到的模型,保存它的一個對象。相應提交方式可以用get post

如:testAction? resBananRc.name=admin

如:

public class TestAction extends BaseAction{

private static final long serialVersionUID = -7463970150000893325L;

private ResBananRc resBananRc;

public ResBananRc getResBananRc() {

return resBananRc;

}

public void setResBananRc(ResBananRc resBananRc) {

thisthis.resBananRc = resBananRc;

}


 

public void execeute() {

System.out.println("姓名: " + resBananRc.getName());

}

}

3. 使用DTO--DTO--數據傳輸對象

它的作用是接收參數,傳遞參數,並不是項目中的實體類。如用戶註冊時,會用到確認密碼,所以要先把參數接收過

來,做處理後,再傳遞給相應方法去創建User  對象。提交參數的方式的Domail  Model 方式的相同。

DTO

public class UserDTO {

    private String name;

    private String password;

   private String confirm;

public String getName() {

return name;

}

public void setName(String name) {

thisthis.name = name;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

thisthis.password = password;

}

public String getConfirm() {

return confirm;

}

public void setConfirm(String confirm) {

thisthis.confirm = confirm;

}

}

Action

public class TestAction extends BaseAction{

private static final long serialVersionUID = -7463970150000893325L;

private UserDTO userDTO;

public UserDTO getUserDTO() {


 

return userDTO;

}

public void setUserDTO(UserDTO userDTO) {

thisthis.userDTO = userDTO;

}

public void execeute() {

System.out.println("姓名: " + userDTO.getName());

}

}

4. 使用 ModelDriven

在創建Action 的時候,發現Action 實現了ModelDriven 接口,去調用接口的getModel()方法,取到了相關對象。

相應提交方式可以用get post,如:testAction? name=admin

public class TestAction extends BaseAction implements ModelDriven<ResBananRc>{

private static final long serialVersionUID = -7463970150000893325L;

private ResBananRc resBananRc = new ResBananRc();//這裏要手動的New

public ResBananRc getModel() {

return resBananRc;

}

public void execeute() {

System.out.println("姓名:" + resBananRc.getName());

}

}

5. 使用request 對象

此方法與與傳統的JSP 等傳接參數一樣,即使用request. getParameter(“”)方法

public class TestAction extends BaseAction{

private static final long serialVersionUID = -7463970150000893325L;

public void execeute() {

String name = supersuper.getRequest().getParameter("paraName");

System.out.println("姓名:" + name);

}


 

}

 PS:其中1-3爲常用方法。

 

備註:該文件通過網絡整理。

 

 

發佈了54 篇原創文章 · 獲贊 61 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章