SpringMVC:我无法将表单操作url映射到控制器操作

SpringMVC:我无法将表单操作url映射到控制器操作,spring,forms,spring-mvc,jsp-tags,request-mapping,Spring,Forms,Spring Mvc,Jsp Tags,Request Mapping,如果已经有人问过这个或类似的问题,我提前表示歉意,但我找不到合适的答案 我在EditUser.jsp中有这样一个简单的表单(映射到:../admin/users/edit/{userId}): 问题是请求的结果:HTTP状态404-/admin/users/edit/addRole/7-“请求的资源不可用”(7是一些用户id)。A无法将POST请求映射到控制器操作。我已经尝试了th:action,但它将我重定向到上一页../admin/users 非常感谢您的帮助提示。我认为您的url是错误的。

如果已经有人问过这个或类似的问题,我提前表示歉意,但我找不到合适的答案

我在
EditUser.jsp
中有这样一个简单的表单(映射到:
../admin/users/edit/{userId}
):

问题是请求的结果:
HTTP状态404-/admin/users/edit/addRole/7
-“请求的资源不可用”(7是一些用户id)。A无法将
POST
请求映射到控制器操作。我已经尝试了
th:action
,但它将我重定向到上一页
../admin/users


非常感谢您的帮助提示。

我认为您的url是错误的。只要不在servlet容器根路径中部署应用程序,它就不会工作,因为url缺少应用程序名称。因此,正确的url应该是:

<form action="myAppName/admin/users/edit/addRole/${user.userId}" method="POST">
有关更多信息,请查看以下两个答案:


  • (BalusC排名靠前的答案是针对一个非常旧的jsp版本(我认为您的url是错误的。只要您不在servlet容器根路径中部署应用程序,它就不会工作,因为url缺少应用程序名称。因此,正确的url应该是:

    <form action="myAppName/admin/users/edit/addRole/${user.userId}" method="POST">
    
    有关更多信息,请查看以下两个答案:


    • (BalusC排名最高的答案是针对一个非常旧的jsp版本(我终于找到了错误-
      $
      登录
      @RequestMapping
      注释。只需从注释和
      返回“…url”中删除
      $
      仅此而已。

      我终于找到了错误-
      $
      登录
      @RequestMapping
      注释。只需从注释中删除
      $
      ,然后从
      返回“…url”
      仅此而已。

      th:action
      是一个thymeleaf属性,但是您使用jsp,所以这不会有帮助
      th:action
      是一个thymeleaf属性,但是您使用jsp,所以这不会有帮助,非常感谢您的建议。您建议的资源非常有用,但对我没有帮助-问题仍然存在。非常感谢您谢谢你的建议。你建议的资源非常有用,但对我没有帮助-问题仍然存在。
      <form action="myAppName/admin/users/edit/addRole/${user.userId}" method="POST">
      
      <form action="<c:url value="/admin/users/edit/addRole/${user.userId}" />" method="POST">