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>






		

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM