我正在尝试创建控制器,该控制器将负责删除特定显示的用户,方法是通过方法发送他们的id,然后继续。到目前为止,我写了这样的话:
@RequestMapping("delete/{user.id}")
public String deleteUser(@PathVariable("user.id") String userId)
{
userRepository.delete(Long.parseLong(userId));
return "panel";
}
我还在我的thymyleaf模板中创建了一个显示所有用户的dinamic表。
<tr th:each="user : ${userList}">
<td th:text="${user.firstname}"></td>
<td th:text="${user.lastname}"></td>
<td th:text="${user.email}"></td>
<td th:text="${user.birthdate}"></td>
<td th:text="${user.password}"></td>
<td><a href="delete/${user.id}.html">Delete</a></td>
<td><a href="#">Edit</a></td>
</tr>
不幸的是,“删除/ $ {user.id} .html”请求不起作用。 任何sugestions?
提前谢谢。
答案 0 :(得分:1)
您尚未描述收到的错误(如果有)。我想你可能有很多问题。首先从URL中删除“.html”。拥有它意味着请求与RequestMapping注释中的路径不匹配。
我还建议将userId参数更改为long。 Spring将负责解析。
public String deleteUser(@PathVariable("user.id") long userId)
您应该指定使用的预期HTTP方法:
@RequestMapping(method=RequestMethod.GET, path="delete/{user.id}")
您实际上不需要使用“user.id”作为路径参数的名称。你可以使用“id”。
@RequestMapping(method=RequestMethod.GET, path="delete/{id}")
public String deleteUser(@PathVariable("id") long userId)