从一个JSP页面传多个一样的对象
比如:一个页面提交多个工作经历,亲戚信息,维修用的配件(它们当中都会有多个)
案例:
实体类1:
Procurement:实体(采购)
private String procurementCode;//采购单号
private String procurementType;//加急,普通
@JsonFormat(pattern ="yyyy-MM-dd ",timezone="GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd ")
private Date createTime;
private Integer createById;
@JsonFormat(pattern ="yyyy-MM-dd ",timezone="GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd ")
private Date auditTime;//审核时间
private Integer auditById;//审核人
private Integer status;
private List<Materials> MaterialsList;//Materials实体(物资)
private User user;
实体类2:
Materials:实体(物资)
private String procurementCode;//采购单号
private String name;//名称
private String code;//编码
private Integer number;//数量
private double purchasingPrice;//进价
JSP页面:
<script type="text/javascript">
var number=0;
function appendMaterials(code,name,purchasingPrice,num) {
var i=0;
var trNum=$(".tr").length;
number=number+trNum;
var codeList=document.getElementsByClassName("code");//少敲了一个name
$(".code").each(function(){
if($(this).val()==code){
i=i+1;
alert("已存在该物资!")
};
});
if(i==0){
var tby=$("#tby");
var tr=$("<tr class='tr' ></tr>");
var td_count=$("<td></td>");
var td_code=$("<td ></td>");
var td_name=$("<td></td>");
var td_number=$("<td ></td>");
var td_purchasingPrice=$("<td></td>");
var td_cz=$("<td></td>");
td_count.html(number+1);
td_code.html("<input class='code' name='MaterialsList["+number+"].code' value='"+code+"' readonly='readonly' >");
td_name.html("<input name='MaterialsList["+number+"].name' value='"+name+"' readonly='readonly'>");
td_number.html("<input name='MaterialsList["+number+"].number' value='"+num+"'>");
td_purchasingPrice.html("<input name='MaterialsList["+number+"].purchasingPrice' value='"+purchasingPrice+"' readonly='readonly'>");
td_cz.html("<a href='javascript:deleteMaterials("+number+")' id='"+number+"'>删除</a>");
tr.append(td_count);
tr.append(td_code);
tr.append(td_name);
tr.append(td_number);
tr.append(td_purchasingPrice);
tr.append(td_cz);
tby.append(tr)
number++;
}else {
i=0;
}
}
</script>
</head>
<body>
<form:form id="inputForm" modelAttribute="parts" action="${ctx}/mm/procurement/saveProcurement" method="post" class="form-horizontal">
<input type="button" class="btn btn-primary" value="增加物资" onclick="add();">
//添加物资是点击按钮之后跳出小窗口,选择了物资,通过js将它显示在页面的下面,并没有保存在数据库里。
<table id="contentTable" class="table table-striped table-bordered table-condensed">
<thead><tr>
<th>序号</th>
<th>物资编号</th>
<th>物资名称</th>
<th>物资数量</th>
<th>物资进价</th>
<th>操作</th>
</tr></thead>
<tbody id="tby">//物资显示在这个tbody里
</tbody>
</table>
<div class="form-actions">
<input id="btnSubmit" class="btn btn-primary" type="submit" value="保 存"/>
<input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
</div>
</form:form>
</body>
</html>