@RequestMapping对Spring 2.5中的类型和方法不起作用

时间:2013-04-08 10:28:35

标签: java spring java-ee spring-mvc

我最近一直在阅读Spring 3.2,现在我正在使用Spring 2.5尝试以下代码。根据我的阅读,这应该意味着它应该映射profile/tags/me。但事实并非如此。它只会抛出一个No mapping found for HTTP request with URI ...。这个代码有什么问题,或者Spring 2.5没有像Spring 3那样工作?

使用Spring 2.5时的问题

@Controller
@RequestMapping("/profile/tags")
public class ProfileController { ... }

这是ProfileController类中的方法:

@RequestMapping(value = "/me", method = RequestMethod.GET)    
public String show(@RequestParam final long id, final ModelMap model) { ... }

1 个答案:

答案 0 :(得分:4)

根据Spring documentation,我想你错过了接收请求参数所需的配置,如果你想接收这个请求参数:

@RequestMapping(value = "/me/{id}", method = RequestMethod.GET)    
public String show(@RequestParam("id") final long id, final ModelMap model) { ... }

或者您应该删除RequestParam

Spring 2.5的更新

此外,由于您使用的是Spring 2.5,请确保以预期的方式配置了DispatcherServlet;章节13.11,第1,2和3小节。总结:

  1. 应告知DispatcherServlet加载带注释的RequestMappings。
  2. 应告诉DispatcherServlet加载Controller注释。
  3. 不确定,但您可能需要优化用于请求映射的路径。
  4. 希望这有帮助。