我有一个简单的webapp,显示带有添加和删除按钮的学生列表,如下所示:
index.html-表
<tr th:each="student : ${students}">
<td th:text="${student.firstName} + ' ' + ${student.lastName}"></td>
<td th:text="${student.email}"></td>
<td th:text="${student.department}"></td>
<td><a th:href="@{/delete/{id}(id=${student.id})}" class="btn btn-danger">Delete</a></td>
</tr>
IndexController.java-用于删除
@GetMapping("/delete/{id}")
public String deleteStudent(@PathVariable Long id)
{
studentService.deleteStudentById(id);
return "redirect:/";
}
我的问题-为什么必须在控制器中使用
@GetMapping
才能使用www页上的“删除”按钮删除学生?当我在那里有@DeleteMapping
时(我认为应该如此),我无法使用www页面上的Delete按钮删除学生。这样做时有一个405 error
,但是通过Postman选择删除方法,我可以删除它。 最佳答案
@DeleteMapping注释需要一个th:method =“ delete”才能起作用。
<td>
<form th: action = "@ {/delete/{id}(id=${student.id})}" th: method = "delete" >
<input class = "btn btn-default btn-xs" type = "submit" = Valeur "Supprimer" />
</ form>
</td>