属性驱动:
在action中设置与表单对应的属性,表单属性的值会赋值给action中对应的属性,而传统的servlet则是需要调用request.getParamter();方法来获得请求中的值。注意根据需求设置属性的setter和getter方法。
private String checkcode; public void setCheckcode(String checkcode) { this.checkcode = checkcode; }
该例子中表单的checkcode当做参数传给action中定义的checkcode的set函数,就可以获得表单对应属性的值了。
模型驱动:
如果需要的属性非常多,通过属性驱动获得值得方法太麻烦,我们可以使action实现Struts2的ModelDriven<T>接口,实现 getModel()方法,返回一个和T对应的对象,该对象封装和表单中属性对应的值,我们需要什么值只需要通过getModel()方法返回的model对象(该对象为T的末班对象)就能获得所有请求中的值。
public class BaseAction<T> extends ActionSupport implements ModelDriven<T> { //模型对象 protected T model; public T getModel() { return model; } }