我正在尝试将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