1、在jsp 隐藏提交多个name相同的值
<c:forEach items="${deliveryNoticeList}" var="item" varStatus="status">
<tr>
<td>
<span>${status.index +1 }</span>
</td>
<td><input type="checkbox" class="ajxa" name="id" />
<input type="hidden" name="contractCode" value="${item.contractCode }"/>
<input type="hidden" name="outstoreNo" value="${item.outstoreNo }"/>
<input type="hidden" name="deliveryCode" value="${item.deliveryCode }"/>
<input type="hidden" name="status" value="${item.status }"/>
<textarea></textarea>
</td>
2、js 脚本处理
var ids = $("#tab").find("[name='id']");
var statuss = $("#tab").find("[name='status']");
var contractCodes = $("#tab").find("[name='contractCode']");
var outstoreNos = $("#tab").find("[name='outstoreNo']");
var deliveryCodes = $("#tab").find("[name='deliveryCode']");
if(flag){
var objArray = [];
$(ids).each(function(i) {
if ($(this).prop('checked')) {
var obj = {};
obj["contractCode"] = $(contractCodes[i]).val();
obj["deliveryCode"] = $(deliveryCodes[i]).val();
obj["outstoreNo"] = $(outstoreNos[i]).val();
objArray.push(obj);
}
});
var objlist = {"list":JSON.stringify(objArray)};
$.ajax({
cache: true,
type: "POST",
url: CTX + "/customer/batchAffirm",
data:objlist,
async: false,
error: function(request) {},
success : function(data) {}
});
window.location = CTX + "/customer/confirm";
}
3、java的Controller接收处理
import com.fasterxml.jackson.databind.ObjectMapper;
String list = request.getParameter("list");
List<Box> boxList =null;
ObjectMapper objectMapper = new ObjectMapper();
if(StringUtils.isNotBlank(list)){
boxList = objectMapper.readValue(list, objectMapper.getTypeFactory().constructCollectionType(List.class,Box.class));
}