spring mvc 如何从前台表单传递集合参数并绑定集合对象

前端传递集合:

<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";
    }

时间: 2024-10-10 18:04:05

spring mvc 如何从前台表单传递集合参数并绑定集合对象的相关文章

基于Spring MVC实现基于form表单上传Excel文件,批量导入数据

在pom.xml中引入: <!--处理2003 excel--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.16</version> </dependency> <!--处理2007 excel--> <dependency> <group

spring mvc+ajax 实现json格式数据传递

使用ajax传递JSON对象 下面示例为ajax发送json对象,返回json格式数据 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 $.ajax({ url: "api/user", type: "POST", timeout: txnTimeOut, async: true, dataType: "json", data: {username : "lucy"}

asp.net MVC中控制器获取表单form提交的数据之实体类数据

第一次写记录文章,难免有不足之处:欢迎指出. 1.新建一个mvc项目如: 2.新建一个Test.cs 注意get,set方法不能简写 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 using System; using System.Collections.Generic; using System.Linq; usi

利用js代码:document.forms[0].approval.value=&#39;false&#39;,当点击 &lt;input type=&quot;image&quot;按钮向表单传递不同的参数。

<form action="flow_myTaskList"> <input type="hidden" name="approval" value="true"/> <!-- 表单操作 --> <div id="InputDetailBar" style="float:none"> <!--onclick事件在submit之前触发-

MVC动态生成的表单:表单元素比较多 你就这样写

MVC动态生成的表单:表单元素比较多 你就这样写: public ActionResult ShoudaanActionResult(FormCollection from,T_UserM user) { List<string> daan = new List<string>(); for (int i = 4; i < from.Count; i++) { daan.Add(from[i].ToString()); } QSAcceptAnswer qaa = new Q

SpringMVC中使用bean来接收form表单提交的参数时的注意点

这是前辈们对于SpringMVC接收表单数据记录下来的总结经验: SpringMVC接收页面表单参数 springmvc请求参数获取的几种方法 下面是我自己在使用时发现的,前辈们没有记录的细节和注意点: 使用bean来接收form表单提交的参数时,pojo中必须含有默认的(即空的)构造函数,同时,需要设置到bean中的变量必须有setter方法. 注:以下代码均为示例代码,非本人实际运行代码,请自行补充. 例如:我有一个bean类是User,具有变量username和password.同时,表单

第五节:表单标签的用法——value绑定和修饰符

1.表单标签的用法--value绑定和修饰符 value绑定的写法:v-bind:value 或者简写 :value 修饰符: lazy , Number , trim . 用法如:  v-model.lazy 2.使用表单的时候需要注意 v-bind:true-value和v-bind:false-value 的两个属性只是用在checkbox上 checkbox和radio需要设置初始值的时候,要在v-model绑定的值上直接设置,不要用html标签属性selected. 3.例子详解 <!

Spring MVC Controller中解析GET方式的中文参数会乱码的问题

Spring MVC Controller中解析GET方式的中文参数会乱码的问题 问题描述 在工作上使用Spring老是碰到一个问题,使用Controller处理GET方式的请求参数时,服务端得到的结果会碰到乱码,之前翻阅了很多与Java EE相关的很多乱码处理资料,不管是加过滤器还是统一文件编码,都没能正确解决,后来设计接口时,一直采用先Base64,然后再作为参数传过来的方式解决的.最近找到了根本的解决方案,顺手记下来. 为何会乱码 Spring MVC 是基于Servlet,在Http请求

Spring MVC Controller中解析GET方式的中文参数会乱码的问题(tomcat如何解码)

Spring MVC Controller中解析GET方式的中文参数会乱码的问题 问题描述 在工作上使用突然出现从get获取中文参数乱码(新装机器,tomcat重新下载和配置),查了半天终于找到解决办法. 为何会乱码 Spring MVC 是基于Servlet,在Http请求到达Servlet解析之前,GET过来的URL已经被Tomcat先做了一次URLDecode.Tomcat对GET方式默认的URL解码结果是iso-8859-1而不是我认为的UTF-8. 解决方案 解决方案也很简单,除了平常