struts获得参数(属性,对象,模型驱动)
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:
测试:
结果:
【当你用心写完每一篇博客之后,你会发现它比你用代码实现功能更有成就感!】