前端传递集合:

 <tr>
    <td>
    <select name="indtablelist[0].commodity_id">
        <c:forEach items="${commoditys}" var="comm">
        <option value="${comm.id}">${comm.commodity_no}||${comm.commodity_name}</option></c:forEach>
    </select>
    </td>
    <td><input type="text" name="indtablelist[0].quantity"/></td>
    <td><input type="text" name="indtablelist[0].memo"/></td>
    </tr>
    <tr>
    <td>
    <select name="indtablelist[1].commodity_id">
        <c:forEach items="${commoditys}" var="comm">
        <option value="${comm.id}">${comm.commodity_no}||${comm.commodity_name}</option></c:forEach>
    </select>
    </td>
    <td><input type="text" name="indtablelist[1].quantity"/></td>
    <td><input type="text" name="indtablelist[1].memo"/></td>
    </tr>

后台接收集合:

spring mvc 不能直接接收数组list参数,  必需把这个数组或list作为一个对象的属性接收

public class IndtableList {
    List<Indtable> indtablelist = new ArrayList<Indtable>();

    public List<Indtable> getIndtablelist() {
        return indtablelist;
    }

    public void setIndtablelist(List<Indtable> indtablelist) {
        this.indtablelist = indtablelist;
    }
    
}

  Controller接收集合:
    @RequestMapping("/addPlan.do")
    public String addPlan(IndtableList indtablelist){
        //生成唯一的订单号
        int i = indentmapper.allrows()+1;
        String now=new SimpleDateFormat("yyyyMMdd-").format(new     Date(System.currentTimeMillis()));
        //生成订单
        Indent indent = new Indent();
        indent.setIndent_no("OR"+now+i);
        indentmapper.add(indent);
        List<Indent> indents = indentmapper.findAll();
        int indent_id = 0;
        for(Indent ind:indents){
            if(ind.getId()>indent_id)
                indent_id = ind.getId();
        }
        List<Indtable> inds = indtablelist.getIndtablelist();
        for(Indtable ind:inds){
            ind.setIndent_id(indent_id);
            indtablemapper.add(ind);
        }
        return "redirect:findAll.do";
    }