7

考虑这个 Spring MVC 控制器:

@Controller
@RequestMapping("/test*")
public class TestController {

  @RequestMapping(method = RequestMethod.GET)
  public void doStuff(Model model){
    ...
  }

  @RequestMapping(params = "myParam")
  public void doStuff(@RequestParam("myParam") int myParam, Model model){
    ...
  }

}

当我将其放入浏览器时:

mySite.com/test.html?myParam=1

我期望 AmbiguousHandlerMappingException 或其他东西,因为这两种方法似乎都与 URL 匹配。

但实际上第一个方法被调用了。有人知道为什么吗?

4

1 回答 1

5

这闻起来像个虫子。如果将 method=GET 添加到第二个处理程序,它会按预期工作,这就是解决方法。

我已经提交了一个错误报告,希望它会得到解决。

http://jira.springframework.org/browse/SPR-5772

于 2009-05-20T09:24:02.677 回答