Я готовлю проект, в котором у меня есть две реляционные таблицы.Тип отношения - один ко многим.Это библиотечная система.У меня есть одна таблица для книг и одна таблица для клиентов.
rent-form.jsp:
<h1>${book.title}</h1>
<form:form action="rentBook" modelAttribute="book" method="POST">
<!-- need to associate this data with customer id -->
<form:hidden path="id" />
<table>
<tbody>
<tr>
<td><label>Rental Date:</label></td>
<td><spring:bind path="book"><form:input path="rentalDate" /></spring:bind></td>
</tr>
<tr>
<td><label>Return Date:</label></td>
<td><spring:bind path="book"><form:input path="returnDate" /></spring:bind></td>
</tr>
<tr>
<td><label>Client:</label></td>
<td>
<form:select path="client">
<form:option value="NONE" label="--- Select ---" />
<c:forEach var="tempClient" items="${client}">
<form:option value="${tempClient.id}">${tempClient.id} ${tempClient.firstName} ${tempClient.lastName}</form:option>
</c:forEach>
</form:select>
</td>
</tr>
<tr>
<td><label></label></td>
<td><input type="submit" value="Save" class="save" /></td>
</tr>
</tbody>
</table>
</form:form>
BookController.java:
@RequestMapping("/showFormForRent")
public String showFormForRent(@RequestParam("bookId") int theId, Model theModel) {
List<Client> theClients = bookService.getClients();
theModel.addAttribute("client", theClients);
Book theBook = bookService.getBook(theId);
theModel.addAttribute("book", theBook);
return "rent-form";
}
@PostMapping("/rentBook")
public String rentBook(@ModelAttribute("book") Book theBook, @ModelAttribute("client") Client theClient) {
theBook.setClient(theClient);
bookService.saveBook(theBook);
return "redirect:/book/list-books";
}
Что я хочуЯ хочу получить клиентов из детализации, затем я хочу выбрать (я выбираю в раскрывающемся меню) и добавить клиента в книгу, используя Book.setClient (theClient).В этом случае в таблице «книга» у меня должен быть идентификатор клиента.Более того, в этой форме я хочу добавить дату аренды и дату возвращения.
Диаграмма базы данных:
Я не уверен, что мой подход правильный, сейчас я получил сообщение об ошибке:
HTTP Status 400 – Bad Request
The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
Я предполагаю, что это связано с моделью в одной форме.Возможно, Spring не знает, что делает модель клиента в форме книги.Есть ли у вас, ребята, какие-либо советы для меня, пожалуйста?