如何在Spring MVC Controller中绑定多个路径变量?

时间:2015-09-27 04:27:48

标签: spring-mvc

我有这样的网址:/ category / 1234#123456

我需要在请求处理程序方法中绑定两个id,所以我创建了我的控制器,如下所示:

@RequestMapping(value = "/category/{parentId}#{childId}", method = RequestMethod.GET)
public ModelAndView requestHandler(@PathVariable("parentId") Long parentId, @PathVariable("childId") Long childId){
//some code
}

但是我收到了一个错误,我相信#{childId}犯了这个错误。 我的问题是,当两个变量之间存在#符号时,如何绑定它们?

1 个答案:

答案 0 :(得分:0)

#之后的url部分未发送到服务器,因此您无法将其作为路径变量。

您可以执行以下操作之一:

  1. 将网址更改为/ category / 1234/123456,将请求映射更改为@RequestMapping(value = "/category/{parentId}#{childId}", method = RequestMethod.GET)
  2. 将网址更改为/ category / 1234?childId = 123456并将childId更改为@RequestParam而不是@PathVariable