. 模型驱动:
模型驱动是使用javaBean对象来封装请求参数,在整个MVC流程中可以直接使用这个对象。在发送请求后Struts将各个请求参数(javab的属性)封装到一个JavaBean对象中,Action接收这个实例对象并用该对象进行相关处理返回处理结果。
模型驱动的Action中定义javaBean并实例化,并且需要提供该JavaBean的getter和setter方法。Action需要实现ModelDriven接口。
下面给出一个使用模型驱动的示例程序:
JavaBean类:
public class TestBean {
private int id;
private String name;
public TestBean(){};
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Action:
import com.core.bean.TestBean;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
public class TestAction extends ActionSupport implements ModelDriven<TestBean> {
private TestBean testBean=new TestBean();
public TestBean getTestBean() {
return testBean;
}
public void setTestBean(TestBean testBean) {
this.testBean = testBean;
}
@Override
public String execute() throws Exception {
return this.INPUT;
}
public TestBean getModel() {
return testBean;
}
}
采用模型驱动模式后,所有的处理结果都封装在Model中,如果想要在JSP页面上输出属性结果,可以使用<s:property value=”testBean.name”/>或<s:property value=”name”/>输出结果。