主要有四种方式:
1.属性驱动:直接在action里面定义成员变量,并提供get set方法,提交方式get或者post,按照属性变量来提交
2.模型驱动:在action里面声明一个bean (不需要new),并提供get set方法,定义一个实体bean,在提交变量时候,需要实体bean的对象.属性来提交,如:get方式:XXAction? obj.attr=value;post方式也差不多在form里面也是对象.属性。
3.Action 实现了ModelDriven 接口,去调用接口的getModel()方法,取到了相关对象,形如
public class sysAction extends ActionSupport implements ModelDriven<User>{
private User user = new User(); //手动实例化
public User getModel() {
return user; //返回实例
}
}
提交参数方式按照属性变量来提交
4.从request对象中获取参数
在struts2获取request对象有3种方式
a.HttpServletRequest request = ServletActionContext.getRequest();
b.Map request = (Map)ActionContext.getContext().get("request")
c.通过IOC机制注入Request对象,Action实现ServletRequestAware接口,实现接口中的方法
private HttpServletRequest request;
public void setServletRequest(HttpServletRequest request){
this.request = request;
}
然后request.getParameter("attr")来获取参数。