Wie der Titel beschreibt, zeige ich mit thymeleaf den Inhalt einer Liste an und setze dann "Update" -Schaltflächen neben jedes Element in der Liste, das das bestimmte Objekt an ein Bearbeitungsformular sendet Seite.Objekt aus der Liste nehmen und zu einer anderen Methode übergehen
Hier ist die Controller-Methode der Liste der Listenansicht für das Hinzufügen von:
@RequestMapping("/list")
public String list(Model model){
List<Employee> employees = repository.findAll();
model.addAttribute("employees", employees);
return "list";
}
Und hier ist der thymeleaf HTML-Code:
<tr th:each="emp : ${employees}">
<td th:text="${emp.id}"></td>
<td th:text="${emp.name}"></td>
<td th:text="${emp.surname}"></td>
<td th:text="${emp.age}"></td>
<td th:text="${emp.department}"></td>
<td>
<form th:action="@{/update}" method = "POST" th:object="${emp}">
<input type="hidden" th:field="*{id}"></input>
<input type="hidden" th:field="*{name}" ></input>
<input type="hidden" th:field="*{surname}"></input>
<input type="hidden" th:field="*{age}"></input>
<input type="hidden" th:field="*{department}"></input>
<button type = "submit">Update</button>
</form>
</td>
</tr>
Und hier ist das Empfangsverfahren:
@RequestMapping("/update")
public String update(@ModelAttribute("emp") Employee emp){
return "update";
}
Ich bekomme immer die folgende Ausnahme:
java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'emp' available as request attribute
Bitte lassen Sie mich wissen, wenn Sie irgendwelche Ideen zur Durchführung dieser Aufgabe haben.
Wenn ich dies tue, gibt es keine Ausnahme, aber ich sende ein leeres Employee-Objekt zurück. – user3779674
Aber sie spezifizieren es im Dokument ion wie dieses .https: //spring.io/guides/gs/handling-form-submission/ –