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]);
}