これまたは類似の質問が既に頼まれている場合は事前に謝りますが、適切な回答が見つからない場合は事前にお詫びします。春mvc:コントローラのアクションにマップフォームのアクションURLがありません
は、私が(:.../admin/users/edit/{userId}
にマッピングされた):EditUser.jsp
でこのような単純な形を持っている
<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
にリダイレクトされています。
ありがとうございました。
「th:action」はthymeleaf属性ですが、jspを使用していますので、これは役に立ちません – Ralph