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" οnclick="WdatePicker();"/></td>
						<td><input id="end" name="cltcList[${status.count-1 }].end"  class="form-control" type="text" οnclick="WdatePicker();"/></td>
					</tr>
					
					</c:forEach> 	
					
					
					<tr>
						<td colspan="5" class="text-center">
						<!-- οnclick="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>






		

  

转载于:https://www.cnblogs.com/charlypage/p/8850183.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值