Spring MVC使用复选框发送对象
我需要一个帮助将对象发送到我的列表中,该列表是对象租金(列表)的一部分,其中包含我必须租赁的所有副本,并通过表中的复选框选中这些副本。然而,当我尝试这样做时,租金中的副本列表总是空的。我怎样才能解决这个问题?选择客户机和日期非常有效,但获取列表却不是。 Jsp页面Spring MVC使用复选框发送对象,spring,spring-mvc,jsp,Spring,Spring Mvc,Jsp,我需要一个帮助将对象发送到我的列表中,该列表是对象租金(列表)的一部分,其中包含我必须租赁的所有副本,并通过表中的复选框选中这些副本。然而,当我尝试这样做时,租金中的副本列表总是空的。我怎样才能解决这个问题?选择客户机和日期非常有效,但获取列表却不是。 Jsp页面 ... <form:form action="${pageContext.request.contextPath}/rent/save" enctype="mult
...
<form:form action="${pageContext.request.contextPath}/rent/save" enctype="multipart/form-data" method="post" modelAttribute="rentObject">
<div>Select client:</div>
<form:select path="client.clientID">
<div class="container-fluid">
<c:forEach
items="${clients}"
var="p"
varStatus="loop">
<form:option value="${p.clientID}">${p.name} ${p.surname},ID: ${p.clientID}</form:option>
</c:forEach>
</form:select>
<div>Date from:</div>
<div><form:input type="date" id="dateFrom" path="dateFrom"/></div>
<div class="text-danger">
<form:errors path="dateFrom" cssClass="error" />
</div>
<div>Date to:</div>
<div><form:input type="date" id="dateTo" path="dateTo" /></div>
<div class="text-danger">
<form:errors path="dateTo" cssClass="error" />
</div>
<div><button id="save" class="btn btn-primary">Save</button> </div>
<p/>
</div>
<div class="col-sm-7 text-left">
<h2>Copies</h2>
<table id="tabela" class="table table-striped table-bordered table-sm" cellspacing="0" width="100%">
<thead>
<tr>
<th scope="col">Copy ID</th>
<th scope="col">Equipment name</th>
<th scope="col">Equipment picture</th>
<th scope="col">Defect</th>
<th scope="col">Rent</th>
</tr>
</thead>
<tbody>
<c:forEach items="${copiesAll}" var="m" varStatus="loop">
<tr>
<td>${m.copyID}</td>
<td>${m.equipment.name}</td>
<td>
<a href="${pageContext.request.contextPath}/equipment/${m.equipment.equipmentID}/picture" target="_blank">Show picture</a>
</td>
<td>${m.defect}</td>
<td align="center">
<form:checkbox path="copies" value="${m}"/>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</form:form> ```
@Entity
@Table(name = "rent")
public class Rent implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "rentID")
private int rentID;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@Temporal(javax.persistence.TemporalType.DATE)
private Date dateFrom;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@Temporal(javax.persistence.TemporalType.DATE)
private Date dateTo;
@ManyToOne(cascade = CascadeType.MERGE)
@JoinColumn(name = "clientid")
private Client client;
@OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.DETACH, CascadeType.PERSIST})
@JoinColumn(name = "rentid", referencedColumnName = "rentID")
private List<Copy> copies;
@ManyToOne(cascade = CascadeType.MERGE)
@JoinColumn(name = "userID", referencedColumnName = "username")
private Worker worker;
public Rent() {
this.copies = new ArrayList<>();
}
...
@Entity
@Table(name = "copy")
public class Copy implements Serializable {
@ManyToOne(cascade = {CascadeType.DETACH,CascadeType.MERGE},fetch = FetchType.EAGER)
@JoinColumn(name = "equipmentid")
private Equipment equipment;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "copyID")
private Integer copyID;
private boolean working;
private boolean available;
private String defect;
private Integer rentid;
public Copy() {
working = true;
available = true;
defect = null;
}
...