我正在尝试将clusterId=1作为参数传递给
<a href="http://192.168.11.134:8080/UniconnectConfigurationWeb/nodes?clusterId=1">并通过@PathParam("clusterId")Integer clusterId将其放入spring mvc控制器。但是我收到404错误。

指导我如何通过锚标记传递参数以及如何命中控制器并获取参数值。
我在下面分享我的代码,

 @RequestMapping(value = "/nodes?clusterId={clusterId}", method = RequestMethod.GET)
     public ModelAndView nodes(@RequestParam("clusterId")Integer clusterId,HttpSession session, HttpServletRequest request) {
         System.out.println(clusterId);
       return dashboard;
      }
    }
<c:url var="myURL" value="http://192.168.11.134:8080/UniconnectConfigurationWeb/nodes">
    <c:param name="clusterId" value="1"/>
</c:url>

最佳答案

在这里,您将clusterId用作Request Parameter,并从客户端传递到服务器端。但是在服务器端代码中,您在“请求映射”注释中使用了?clusterId={clusterId},并且您尝试使用@RequestParam注释接收该请求参数。在这里@RequestParam足以接收请求参数。因此,无需使用此?clusterId = {clusterId}`,这不是编写服务器端URL的正确方法。

它可以帮助您更好地理解@RequestParam vs @PathVariable

10-04 11:29