要点:
在ActionForm定义值对象company,定义Setter/Getter方法; 在JSP里对input元素的名称稍加变化,加company前缀,company.cp_name。 Struts能把company.cp_name的值自动地Populate到对象company,填充cp_name属性。效果:
简化ActionForm对属性的定义,实际上系统只需要保留ValueObject和PersistObject两类对象。 本质上是借用值对象ValueObject作为ActionForm的传值对象。 变化: 当页面元素来自不同类值对象时,例如Company,Bulletin等,分别写不同的前缀,company.cp_name,bulletin.bl_title。 对于不属于任何值对象的元素,照基本写法写。===
示例代码** 传统写法:
//CompanyForm.java package com.ticket.company.actionform; import javax.servlet.http. * ; import org.apache.struts.action. * ; import com.ticket.entity.company. * ; public class CompanyForm extends ActionForm ... { private String cp_name; //名称 private String cp_phone; //电话 private String cp_fax; //传真 public String getCp_name() ...{ return cp_name; } public void setCp_name(String cp_name) ...{ this.cp_name = cp_name; } public String getCp_phone() ...{ return cp_phone; } public void setCp_phone(String cp_phone) ...{ this.cp_phone = cp_phone; } public String getCp_fax() ...{ return cp_fax; } public void setCp_fax(String cp_fax) ...{ this.cp_fax = cp_fax; } //其他代码}
//CompanyForm.java
package com.ticket.company.actionform; import javax.servlet.http. * ; import org.apache.struts.action. * ; import com.ticket.entity.company. * ; public class CompanyForm extends ActionForm ... { public Company company = new Company(); public Company getCompany() ...{ return company; } public void setCompany(Company company) ...{ this.company = company; } //其他代码}
要点:
在ActionForm定义值对象company,定义Setter/Getter方法; 在JSP里对input元素的名称稍加变化,加company前缀,company.cp_name。 Struts能把company.cp_name的值自动地Populate到对象company,填充cp_name属性。效果:
简化ActionForm对属性的定义,实际上系统只需要保留ValueObject和PersistObject两类对象。 本质上是借用值对象ValueObject作为ActionForm的传值对象。 变化: 当页面元素来自不同类值对象时,例如Company,Bulletin等,分别写不同的前缀,company.cp_name,bulletin.bl_title。 对于不属于任何值对象的元素,照基本写法写。===
示例代码** 传统写法:
//CompanyForm.java package com.ticket.company.actionform; import javax.servlet.http. * ; import org.apache.struts.action. * ; import com.ticket.entity.company. * ; public class CompanyForm extends ActionForm ... { private String cp_name; // 名称 private String cp_phone; // 电话 private String cp_fax; // 传真 public String getCp_name() ... { return cp_name; } public void setCp_name(String cp_name) ... { this .cp_name = cp_name; } public String getCp_phone() ... { return cp_phone; } public void setCp_phone(String cp_phone) ... { this .cp_phone = cp_phone; } public String getCp_fax() ... { return cp_fax; } public void setCp_fax(String cp_fax) ... { this .cp_fax = cp_fax; } // 其他代码 }
//CompanyForm.java
package com.ticket.company.actionform; import javax.servlet.http. * ; import org.apache.struts.action. * ; import com.ticket.entity.company. * ; public class CompanyForm extends ActionForm ... { public Company company = new Company(); public Company getCompany() ... { return company; } public void setCompany(Company company) ... { this .company = company; } // 其他代码 }
< form action ="companyAdmin.do?action=addConfirm&forward=listAllLevel1" method ="post" name ="myForm" > < tr > < td height ="23" align ="right" class ="bg2" > 单位名称: </ td > < td width ="85%" > < input name ="company.cp_name" type ="text" maxlength ="25" size ="50" height ="16" > < font color ="#FF0000" > * </ font > </ td > </ tr > < tr > < td height ="23" align ="right" class ="bg2" > 电 话: </ td > < td width ="85%" > < input name ="company.cp_phone" type ="text" maxlength ="20" size ="30" height ="16" > </ td > </ tr > < tr > < td height ="23" align ="right" class ="bg2" > 传 真: </ td > < td width ="85%" > < input name ="company.cp_fax" type ="text" maxlength ="20" size ="30" height ="16" > </ td > </ tr > </ form >