1

我最近一直在阅读 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) { ... }
4

1 回答 1

4

根据Spring documentation,我想你缺少接收请求参数所需的配置,如果你的意思是接收这个请求参数:

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

或者你应该删除RequestParam.

春季 2.5 更新

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

  1. 应该告诉 DispatcherServlet 加载带注释的 RequestMappings。
  2. 应该告诉 DispatcherServlet 加载 Controller 注释。
  3. 不确定,但也许您需要改进用于请求映射的路径。

希望这可以帮助。

于 2013-04-08T10:32:41.367 回答