如果已经问过这个或类似的问题,我提前道歉,但我找不到合适的答案。
我有一个像这样的简单形式EditUser.jsp
(映射到:).../admin/users/edit/{userId}
:
<form action="/admin/users/edit/addRole/${user.userId}" method="POST">
<select name="role">
<c:forEach var="role" items="${roles}">
<option value="${role}">${role}</option>
</c:forEach>
</select>
<button type="submit" value="AddRole">Add Role</button>
</form>
像这样@RequestMapping
:
@RequestMapping(value = "/admin/users/edit/addRole/${userId}", method = RequestMethod.POST)
public String addUserRole(
Model model,
@RequestParam("role") String role,
@PathVariable(value="userId") long userId)
{
...
return "redirect:/admin/users/edit/${userId}";
}
问题是请求的结果:HTTP Status 404 - /admin/users/edit/addRole/7
-“请求的资源不可用”(7 是一些用户 ID)。A 无法将POST
请求映射到控制器操作。我已经尝试过,th:action
但它会将我重定向到上一页.../admin/users
。
任何帮助指针表示赞赏。