【问题标题】:Narrowing problem with Spring MVC annotation-based controller and @RequestMappingSpring MVC 基于注解的控制器和@RequestMapping 的缩小问题
【发布时间】:2010-10-27 12:16:24
【问题描述】:

考虑这个 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 匹配。

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

【问题讨论】:

  • 您使用的是哪个版本的 Spring?

标签: java spring spring-mvc annotations


【解决方案1】:

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

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

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

【讨论】:

  • 此问题将在 RC1 版本中修复。
猜你喜欢
  • 2010-12-30
  • 1970-01-01
  • 2012-04-16
  • 2012-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多