在Struts中是不能使用request来接收参数的,那么怎么使用request来接收参数呢?要使用下列方式接受Web传递过来的参数,第一要把Struts2的配置配好才能使用哦。注意下web.xml的struts2的2.0版本配置可能会有问题,存在一个Bug。
第一种简单数据类型接受参数
private int page ;
public void setPage ( int page ){
this.page = page;
}
第二种,使用持久层实体来接受参数,一般都使用这种方式。
private User user;
public void setUser( User user)
this.user = user;
}
第三种:使用ModelDriven接受参数,需要实现ModelDriven
public class UserAction extends ActionSupport implements ModelDriven<User>{
private User user = new User();
public void setUser(User user){
this.user = user;
}
}
那么在struts2中我就想使用request来接受参数呢,怎么办?
很简单,我们就使用上面的第二种方式来接受这个request。但是必须实现RequestAware。这里面蕴涵了一个思想:Inverse of control IOC控制反转。
public class LoginAction extends ActionSupport implements RequestAware
{
private Map<String,Object> request;
public void setRequest(Map<String,Object> request){
this.request = request;
}
}