spring mvc提供了和struts2差不多类似的数据绑定功能。具体如下:
首先是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使用数据下标。
自己认真看下就能理解了。
作者:skmbw 发表于2013-10-15 17:36:05
原文链接