Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring MVC使用复选框发送对象_Spring_Spring Mvc_Jsp - Fatal编程技术网

Spring MVC使用复选框发送对象

Spring MVC使用复选框发送对象,spring,spring-mvc,jsp,Spring,Spring Mvc,Jsp,我需要一个帮助将对象发送到我的列表中,该列表是对象租金(列表)的一部分,其中包含我必须租赁的所有副本,并通过表中的复选框选中这些副本。然而,当我尝试这样做时,租金中的副本列表总是空的。我怎样才能解决这个问题?选择客户机和日期非常有效,但获取列表却不是。 Jsp页面 ... <form:form action="${pageContext.request.contextPath}/rent/save" enctype="mult

我需要一个帮助将对象发送到我的列表中,该列表是对象租金(列表)的一部分,其中包含我必须租赁的所有副本,并通过表中的复选框选中这些副本。然而,当我尝试这样做时,租金中的副本列表总是空的。我怎样才能解决这个问题?选择客户机和日期非常有效,但获取列表却不是。

Jsp页面

            ...  
  <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;
      
  }
...