spring mvc表单复杂类型数据绑定
2013-10-15 17:36
369 查看
spring mvc提供了和struts2差不多类似的数据绑定功能。具体如下:
首先是jsp页面:
对应封装的javabean 如下:
上面的代码中都省略了getter 和setter。
上面是一个及其复杂的,潜逃多层的数据绑定。
在jsp中,最外层的
不用写,接着从里面的属性开始写起,list使用数据下标。自己认真看下就能理解了。
首先是jsp页面:
****************************TBill*******************************<br><br> 单据编号:<input type="text" name="TBill.sbillno"> 单据类型:<input type="text" name="TBill.ibilltype"><br/><br/> 客户在仓库的编号:<input type="text" name="TBill.scustomerno"> 对方客户编号:<input type="text" name="TBill.sdistcustomerno"><br/><br/> 单据操作类型:<input type="text" name="TBill.ioperatortype"> 操作人:<input type="text" name="TBill.soperator"><br/><br/> 操作时间:<input type="text" name="TBill.doperatetime"> 备注:<input type="text" name="TBill.remark"><br/><br/>
<div id="ew12LineTemplate2"> --------------------------List<TIndentureItem>---------------------<br><br> 会员在仓库的编号:<input type="text" name="TDeliveryDo[0].list[0].scustomerno"> 会员编号:<input type="text" name="TDeliveryDo[0].list[0].smemberno">入库单号:<input type="text" name="TDeliveryDo[0].list[0].sstockno"> 卡号:<input type="text" name="TDeliveryDo[0].list[0].scardno"><br/><br/> 种类:<input type="text" name="TDeliveryDo[0].list[0].svariety"> 品名:<input type="text" name="TDeliveryDo[0].list[0].scommodityname">规格:<input type="text" name="TDeliveryDo[0].list[0].sspec"> 材质:<input type="text" name="TDeliveryDo[0].list[0].smaterial"><br/><br/> 厂家:<input type="text" name="TDeliveryDo[0].list[0].sproducer"> 执行标准:<input type="text" name="TDeliveryDo[0].list[0].sstandard">炉批号:<input type="text" name="TDeliveryDo[0].list[0].sdonkey"> 库位:<input type="text" name="TDeliveryDo[0].list[0].slocation"><br/><br/> 计量方式:<input type="text" name="TDeliveryDo[0].list[0].smeasurement"> 件数单位:<input type="text" name="TDeliveryDo[0].list[0].sunit"> 入库日期:<input type="text" name="TDeliveryDo[0].list[0].dindate"> 入库件数:<input type="text" name="TDeliveryDo[0].list[0].iinpackage"> <br/><br/> 入库重量):<input type="text" name="TDeliveryDo[0].list[0].finweight"> 出库件数:<input type="text" name="TDeliveryDo[0].list[0].ioutpackage"> 出库重量:<input type="text" name="TDeliveryDo[0].list[0].foutweight"> 当前件数:<input type="text" name="TDeliveryDo[0].list[0].ipackage"> <br/><br/> 当前重量:<input type="text" name="TDeliveryDo[0].list[0].fweight"> 锁定件数:<input type="text" name="TDeliveryDo[0].list[0].ilockpackage"> 锁定重量:<input type="text" name="TDeliveryDo[0].list[0].flockweight"> 变动件数:<input type="text" name="TDeliveryDo[0].list[0].ialertpackage"><br/><br/> 变动重量:<input type="text" name="TDeliveryDo[0].list[0].falertweight"> 锁定变动重量:<input type="text" name="TDeliveryDo[0].list[0].falertlockweight"> 锁定变动重量:<input type="text" name="TDeliveryDo[0].list[0].ialertlockpackage"><br/><br/> 锁定类型:<input type="text" name="TDeliveryDo[0].list[0].ilocktype"> </div>
************************TDelivery*******************************<br><br> 提货单编号:<input type="text" name="TDelivery.sorderno"> 货主会员名称:<input type="text" name="TDelivery.smembername"> 货主EE会员编号:<input type="text" name="TDelivery.smemberno"><br/><br/> 货主在仓库的编号:<input type="text" name="TDelivery.smemberwarehouseno"> 买方会员名称:<input type="text" name="TDelivery.sbuyermembername"> 买方EE会员编号:<input type="text" name="TDelivery.sbuyersmemberno"><br/><br/> 买方在仓库编号:<input type="text" name="TDelivery.sbuyersmemberwarehouseno"> 开单日期:<input type="text" name="TDelivery.dorderdate"> 有效期:<input type="text" name="TDelivery.dvaliddate"><br/><br/> 证件类型:<input type="text" name="TDelivery.scardtype"> 提货手机 :<input type="text" name="TDelivery.smobile"> 车牌号:<input type="text" name="TDelivery.scarno"><br/><br/> 是否要印章:<input type="text" name="TDelivery.bisstamp"> 备注:<input type="text" name="TDelivery.sremark"><br/><br/>
对应封装的javabean 如下:
public class EW010012Bean{ private TBill TBill; private TDelivery TDelivery; private List<TDeliveryDo> TDeliveryDo; public TBill getTBill() { return TBill; } public void setTBill(TBill tBill) { TBill = tBill; } public List<TDeliveryDo> getTDeliveryDo() { return TDeliveryDo; } public void setTDeliveryDo(List<TDeliveryDo> tDeliveryDo) { TDeliveryDo = tDeliveryDo; } public TDelivery getTDelivery() { return TDelivery; } public void setTDelivery(TDelivery tDelivery) { TDelivery = tDelivery; } }
public class TBill { private String sbillno; private int ibilltype; private String scustomerno; private String sdistcustomerno; private int ioperatortype; private Date duptime;//单据上传时间 private String soperator;//操作人 private Date doperatetime;//操作时间 private String remark; private Date dorderdate; }
public class TDelivery { private String sorderno;//提货单编号 private String smembername;//货主会员名称 private String smemberno;//货主会员编号 private String smemberwarehouseno;//货主会员仓库编号 private String sbuyermembername;//买方会员名称 private String sbuyersmemberno;//买方会员编号 private String sbuyersmemberwarehouseno;//买方仓库会员编号 private int ioutreasontype;//提货单类型 private Date dorderdate;//开单日期 private Date dvaliddate;//有效期 private String scardtype;//证件类型 private String smobile;//提货手机 private String scarno;//车牌号 private int bisstamp;//是否要印章 private String sremark1;//备注 private String sremark2; //备注2 }
public class TDeliveryDo { private String sbillno; List<TIndentureItem> list=new ArrayList<TIndentureItem>(); /** * @return the list */ public List<TIndentureItem> getList() { return list; } /** * @param list the list to set */ public void setList(List<TIndentureItem> list) { this.list = list; } /** * @return the sbillno */ public String getSbillno() { return sbillno; } /** * @param sbillno the sbillno to set */ public void setSbillno(String sbillno) { this.sbillno = sbillno; } }
public class TIndentureItem { private String smemberno;//会员编号 private String scustomerno;//会员在仓库的编号 private String sstockno;//入库单号 private String scardno;//卡号 private String svariety;//品种 private String scommodityname;//品名 private String sspec;//规格 private String smaterial;//材质 private String sproducer;//厂家 private String sstandard;//执行标准 private String sdonkey;//炉批号 private String slocation;//库位 private String smeasurement;//计量方式 private String sunit; //件数单位 private Date dindate; //入库日期 private int iinpackage;//入库重量 private double finweight;//入库件数 private int ioutpackage;//出库重量 private double foutweight;//出库件数 private int ipackage;//当前件数余额 private double fweight;//当前重量余额 private double flockweight;//锁定重量余额 private int ilockpackage;//锁定件数 余额 private int ialertpackage;//变动件数 private double falertweight;//变动重量 private double falertlockweight;//锁定变动重量 private int ialertlockpackage;//锁定变动重量 /* * public final static int LOCK=0;//冻结 public final static int UNLOCK=1;//解冻 public final static int NONE=10;//不修改量 */ private int ilocktype;//锁定类型 }
上面的代码中都省略了getter 和setter。
上面是一个及其复杂的,潜逃多层的数据绑定。
在jsp中,最外层的
EW010012Bean
不用写,接着从里面的属性开始写起,list使用数据下标。自己认真看下就能理解了。
相关文章推荐
- spring mvc表单数据绑定,对于基本类型和日期的处理WebDataBinder
- spring mvc表单数据绑定,对于基本类型和日期的处理WebDataBinder
- spring mvc3(对象传参 Date 类型数据绑定)
- Spring MVC中数据绑定之日期类型
- Spring MVC---数据绑定和表单标签
- spring mvc使用@InitBinder 标签对表单数据绑定
- gridview绑定复杂数据类型
- spring mvc使用@InitBinder 标签对表单数据绑定
- Spring MVC3 复杂表单属性绑定
- springMVC中复杂嵌套对象、List等集合类型数据绑定
- Spring MVC3 复杂表单属性绑定
- Springmvc学习笔记(4)之复杂参数类型绑定、校验、数据回显和异常处理
- spring mvc使用@InitBinder 标签对表单数据绑定
- ###Springmvc封装复杂表单数据:表单提交多个实体类的参数【对象类型参数,自动封装】name属性值不能重复。和实体类属性名一致
- Spring MVC表单数据绑定
- Spring mvc使用@InitBinder标签对表单数据绑定
- spring mvc 数据绑定问题 提交表单提示HTTP status 400, The request sent by the client was syntactically incorrect
- spring MVC中前端提交Form表单在controller中的数据绑定
- spring MVC中数据绑定之日期类型
- spring mvc 数据绑定问题 提交表单提示HTTP status 400, The request sent by the client was syntactically incorrect