0.
strutsMVC
Action生命周期
1.每次请求到来时,都会创建一个新的Action实例
2.Action是线程安全的.可以使用成员变量接收参数
1.属性驱动方式
提供属性的setter方法:
这里需要补充的是对于boolean类型的映射,我们用eclipse生成的get、set方法是isXXX,例如:
private boolean displayPerson; public boolean isDisplayPerson() { return displayPerson; } public void setDisplayPerson(boolean displayPerson) { this.displayPerson = displayPerson; }
我们需要将is改为get,如下:
private boolean displayPerson; public boolean getDisplayPerson() { return displayPerson; } public void setDisplayPerson(boolean displayPerson) { this.displayPerson = displayPerson; }
2.对象驱动
提供属性的getter方法:
3.模型驱动
模型驱动是使用javaBean对象来封装请求参数,在整个MVC流程中可以直接使用这个对象。在发送请求后Struts将各个请求参数(javab的属性)封装到一个JavaBean对象中,Action接收这个实例对象并用该对象进行相关处理返回处理结果。
Action需要实现ModelDriven接口,创建一个对象实例,在getModel返回该对象。界面中name直接命名为属性名字,不用加对象名字。(对象实例不用get,set)
例如:
Haulinfo .java
package cn.xm.exam.bean.haul;
import java.util.Date;
public class Haulinfo {
private String bigid;// 大修ID
private String bigname;// 大修名称
private String bigdescription;// 大修描述
private Date bigcreatedate;// 大修创建时间
private Date bigbegindate;// 大修开始时间
private Date bigenddate;// 大修结束时间
private String bigstatus;// 大修状态
public String getBigid() {
return bigid;
}
public void setBigid(String bigid) {
this.bigid = bigid == null ? null : bigid.trim();
}
public String getBigname() {
return bigname;
}
public void setBigname(String bigname) {
this.bigname = bigname == null ? null : bigname.trim();
}
public String getBigdescription() {
return bigdescription;
}
public void setBigdescription(String bigdescription) {
this.bigdescription = bigdescription == null ? null : bigdescription.trim();
}
public Date getBigcreatedate() {
return bigcreatedate;
}
public void setBigcreatedate(Date bigcreatedate) {
this.bigcreatedate = bigcreatedate;
}
public Date getBigbegindate() {
return bigbegindate;
}
public void setBigbegindate(Date bigbegindate) {
this.bigbegindate = bigbegindate;
}
public Date getBigenddate() {
return bigenddate;
}
public void setBigenddate(Date bigenddate) {
this.bigenddate = bigenddate;
}
public String getBigstatus() {
return bigstatus;
}
public void setBigstatus(String bigstatus) {
this.bigstatus = bigstatus == null ? null : bigstatus.trim();
}
}
Action:
测试:
结果: