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 String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void execeute() {
System.out.println(name +" : " + name);
}
}
2. 使用DomainModel:
在Action 裏面不存很多的屬性,而是用Model 層用到的模型,保存它的一個對象。相應提交方式可以用get 和post
如:testAction? user.name=admin (user是action中的成員變量)
public class TestAction extends BaseAction{
private static final long serialVersionUID = -7463970150000893325L;
private User user;
public String execute(){
System.out.print("username="+user.getUsername());
return SUCCESS;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
3.使用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 User user= new User();//這裏要手動的New下
public ResBananRc getModel() {
return user;
}
public void execeute() {
System.out.println("姓名:" + user.getName());
}
}
4.webwork方式:
/**
* 根據指定的頁面參數名稱,獲取頁面傳遞來的參數值
*
* @param parameter
* @return 數組對象
*/
protected String[] getParamValue(String key){
return (String[])ActionContext.getContext().getParameters().get(key);
}
遍歷數組對象,輸出getParameter的值
for(int i = 0; i< getParamValue("username").length; i++){
System.out.println("user_name="+getParamValue("username")[i]);
}