举例说明:

后台有一个对象 User ,结构如下:

后台有一个对象 User ,结构如下:

public class User{
private String username; private List<PhotoDo> photo; ..get ....set..... } public class PhotoDo{
private String id; private String name; ...get...set...
}

  Controller中接受方法 getUser

@reqeustMapping("/getUser")
public void getUser(User user){ ...实现方法... } 前台Form这么写: <form>
<input type="text" name="username" aciton=".."> <input type="text" name="photo[0].id">
<input type="text" name="photo[0].name">
<input type="text" name="photo[1].id">
<input type="text" name="photo[1].name">
<input type="text" name="photo[2].id">
<input type="text" name="photo[2].name">
</form>

  这里下标可以用var = status-1来解决

第二个例子:

对象Cltc和list实体类

package com.ABC.pojo;

import java.util.Date;

public class Cltc {
private Integer id; private Integer classid;//班级id private Integer teacherid;//教师id private Integer courseid;//课程id private Date time;//排课时间 private Date start;//开始上课时间 private Date end;//结束上课时间 private Classinfo classinfo;//班级 排课状态和 结课状态 入学时间 public Classinfo getClassinfo() {
return classinfo;
} public void setClassinfo(Classinfo classinfo) {
this.classinfo = classinfo;
} public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public Integer getClassid() {
return classid;
} public void setClassid(Integer classid) {
this.classid = classid;
} public Integer getTeacherid() {
return teacherid;
} public void setTeacherid(Integer teacherid) {
this.teacherid = teacherid;
} public Integer getCourseid() {
return courseid;
} public void setCourseid(Integer courseid) {
this.courseid = courseid;
} public Date getTime() {
return time;
} public void setTime(Date time) {
this.time = time;
} public Date getStart() {
return start;
} public void setStart(Date start) {
this.start = start;
} public Date getEnd() {
return end;
} public void setEnd(Date end) {
this.end = end;
} @Override
public String toString() {
return "Cltc [id=" + id + ", classid=" + classid + ", teacherid=" + teacherid + ", courseid=" + courseid
+ ", time=" + time + ", start=" + start + ", end=" + end + ", classinfo=" + classinfo + "]";
} }

  /************************************************/

package com.ABC.vo;

import java.util.List;

import com.ABC.pojo.Cltc;

public class CltcFormVo {

	private List<Cltc> cltcList;

	public List<Cltc> getCltcList() {
return cltcList;
} public void setCltcList(List<Cltc> cltcList) {
this.cltcList = cltcList;
} }

  controller层

			@reqeustMapping("paike")
public void getCltcFormVo(CltcFormVo cltcFormVo){ List<Cltc> cltcList = cltcFormVo.getCltcList();
...实现方法... }

  

jsp页面的信息:

<div class="panel panel-default">
<div class="panel-heading">排课信息</div>
<table id="stuTable" class="table table-hover table-striped table-bordered" border="1">
<tr>
<th class="text-center" style="width:50px">顺序</th>
<th class="text-center">课程</th>
<th class="text-center">老师</th>
<th class="text-center" style="width:200px" >开始时间</th>
<th class="text-center" style="width:200px" >结束时间</th>
</tr> <!--页面的接收信息-->
<!--注意这里的
[status-1]相当于从0开始往下循环
cltcList[status-1]中的cltcList必须和CltcFormVo中的
private List<Cltc> cltcList;
cltcList一样
--> <c:forEach items="${courseList }" var="course" varStatus="status">
<input type="hidden" id="classid" name="cltcList[${status.count-1 }].classid" value="${classinfo.id }">
<input type="hidden" id="time" name="cltcList[${status.count-1 }].time" value="2018-09-09" />
<tr>
<td id="count" class="text-center">${status.count}</td>
<input type="hidden" id="courseid" name="cltcList[${status.count-1 }].courseid" value="${course.id }">
<td >${course.name }</td> <td>
<select class="form-control" id="teacherid" name="cltcList[${status.count-1 }].teacherid"> <option value="${course.teacher.id }">${course.teacher.name }</option> </select>
</td>
<td><input id="start" name="cltcList[${status.count-1 }].start" class="form-control" type="text" onclick="WdatePicker();"/></td>
<td><input id="end" name="cltcList[${status.count-1 }].end" class="form-control" type="text" onclick="WdatePicker();"/></td>
</tr> </c:forEach> <tr>
<td colspan="5" class="text-center">
<!-- onclick="window.location.href='/paike/cltc/paiKe?id=${cltc.id}'" --> <input id="save" type="button" class="btn btn-success" value="保存排课" />
<input id="cancel" type="button" class="btn btn-danger" value="取消排课" />
</td>
</tr>
</table>
</div>

  

Form表单如何可以传递多个值传递List数组对象到后台的解决办法的更多相关文章

  1. Form表单如何传递List数组对象到后台的解决办法(转)

    举例说明: [后台有一个对象 User    一个PhotoDo对象],结构如下: public class User{ private String username; private List&l ...

  2. Liferay7 BPM门户开发之40: Form表单的Action到Render的数据传递

    在Form提交后的变量,很多情况是要展现在jsp页面中,这时Action到Render的变量传递就非常有用. 例如,您在数据库中添加了学生的详细信息. 为了实现这一需求,先创建Form表单(学生的细节 ...

  3. 微信小程序:input输入框和form表单几种传值和取值方式

    1.传值:index下标传值.页面navigator传值 1.index下标 实现方式是:data-index="{{index}}"挖坑及e.currentTarget.data ...

  4. php 处理 form 表单提交多个 name 属性值相同的 input 标签

    一 问题 在公司的开发过程中,遇到了一个问题:如何处理 form 表单提交了多个 name 属性值相同的 input 标签?源码如下(源码是在 form 表单之中的): <!--{loop $a ...

  5. 使用form 表单 弹出登录框,只传递数据,不刷新界面

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. js 取值&赋值-form表单

      form表单元素介绍 CreateTime--2016年9月22日10:25:54 Author:Marydon <form> 表单元素. 表单中的元素: <input>表 ...

  7. ajax传递数组、form表单提交对象数组

    在JSP页面开发中,我们常常会用到form表单做数据提交,由于以前一直只是使用form表单提交单个对象,只要表单文本域的name值和接收的对象的属性名一致,那么传值就没有什么问题.不过,在前几天的开发 ...

  8. form表单传递对象数组

    ajax传递数组.form表单提交对象数组 在JSP页面开发中,我们常常会用到form表单做数据提交,由于以前一直只是使用 form表单提交单个对象,只要表单文本域的name值和接收的对象的属性名一致 ...

  9. .netCore2.0 WebApi 传递form表单

    随着it的技术发展,目前越来越多的项目采用前后端分离的开发模式,通过webapi提供接口数据来进行交互 最近项目用的是.netCore WebApi,在最近的项目使用中发现一些问题,进行记录.个人简介 ...

随机推荐

  1. stark 增删改

    优雅装饰器 import functools def wrapper(func): @functools.wraps(func) # 保留原函数的信息 def inner(*args, **kwarg ...

  2. HDU 2089 不要62 (递推+暴力或者数位DP)

    题意:中文题. 析:暴力先从1到1000000,然后输出就好了. 代码如下: #include <iostream> #include <cstdio> #include &l ...

  3. java浅拷贝和深拷贝

    转:http://blog.csdn.net/u014727260/article/details/55003402 实现clone的2点: 1,clone方法是Object类的一个方法,所以任何一个 ...

  4. @media screen

    参考地址: http://www.swordair.com/blog/2010/08/431/ http://ashaochangfu.blog.163.com/blog/static/1042517 ...

  5. 如何开发一个产品级的Node.js 应用

    介绍 Node.js是一个开源的javascript运行时环境.非常简单可以快速开发一个网络应用.这个平台运行在Linux.OSX和Windows,而且运行在这个平台上的应用都是用javascript ...

  6. HashMap底层实现原理以及HashMap与HashTable区别以及HashMap与HashSet区别

    ①HashMap的工作原理 HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象.当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算h ...

  7. MSVC vs. MinGW 之dll玩转攻略手记【转

    一份粗糙的研究记录,有待补完和整理. MinGW:c -> o           gcc -c a.cc -> exe         gcc a.c libs.o -o a.exe ( ...

  8. hdu4417(Super Mario)—— 二分+划分树

    Super Mario Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  9. mysql的sql性能分析器

    MySQL 的SQL性能分析器主要用途是显示SQL执行的整个过程中各项资源的使用情况.分析器可以更好的展示出不良SQL的性能问题所在. mysql sql profile的使用方法 1.开启mysql ...

  10. css控制英文内容自动换行問題

    css控制英文内容自动换行 HTML: <!-- 因为要显示的内容是用户通过CMS添加进入数据库,再抓取出来前台显示的,所以你根本无法 控制每一行内容的长度. 所以我在显示内容的div设置了一个 ...