У меня есть шаблон, который представляет собой список заметок, которые извлекаются из базы данных
<tr th:unless="${#lists.isEmpty(allNotes)}"
th:each="note : ${allNotes}">
<td>
<form action="#" method="POST" th:action="@{/home/editNote}"
th:object="${note}">
<input type="hidden" id="noteId" name="noteId" th:value="*{noteId}">
<button type="button" class="btn btn-success"
onclick="editNoteModal('updateNote', this.getAttribute('data-noteId'),
this.getAttribute('data-noteTitle'),
this.getAttribute('data-noteDescription'))">Edit
</button>
</form>
<form action="#" method="POST" th:action="@{/home/deleteNote}">
<input type="hidden" name="noteId" th:value="*{note.noteId}">
<a class="btn btn-danger">Delete</a>
</form>
</td>
<th scope="row" th:text="${note.noteTitle}">Example Note Title</th>
<td th:text="${note.noteDescription}">Example Note Description</td>
</form>
</tr>
</tbody>
В GUI Это выглядит так
This is my modal code which should open after I click on the edit button:
Примечание × Титул Описание
В GUI это выглядит так:
Я хочу иметь возможность редактировать данную заметку, а затем отправлять отредактированный идентификатор в контроллер, чтобы я мог обновить это изменение в базе данных. У меня есть правильный журнал базы данных c для обновления, я просто не знаю, как отправить данный идентификатор заметки и измененную информацию на мой контроллер.
@PostMapping("/editNote")
public String editNote(@ModelAttribute(value = "note") Note note,
@ModelAttribute(value = "noteId") NoteIdModel noteIdModel, Model model,
Authentication authentication) {
System.out.println("noteid " + note.getNoteId());
System.out.println("noteidHidden " + noteIdModel.getNoteIdHidden());
System.out.println("notedesc" + note.getNoteDescription());
noteService.editNote(note, authentication);
return "result";
}
Однако входящий noteId равен нулю . Я проверил базу данных, и заметка с правильным идентификатором действительно находится в базе данных, а также извлекается из базы данных. Он просто не отправляется контроллеру.