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>






		

  

posted @ 2018-04-15 23:25  城南少年与猫  阅读(11707)  评论(0编辑  收藏  举报