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

举例说明:

后台有一个对象 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>

  

上一篇:使用vs2010创建、发布、部署、调用 WebService


下一篇:JavaWeb基础知识总结