【发布时间】:2011-09-14 18:04:02
【问题描述】:
我有一个场景,我通过一个链接发出一个简单的 get 请求,而我的 @RequestMapping 配置没有像我预期的那样运行。
在锚标记中,我使用以下模式引用 url '/action-plan/export/pdf?token=xxx&taskId=1111&taskId=2222...'
在我的控制器类中,我在类级别有这个映射:
@RequestMapping("/action-plan/export")
并且这个映射在方法级别
@RequestMapping(value="/pdf", method=RequestMethod.GET)
public String exportToPdf(@RequestParam("taskId") String[] taskIds,
@RequestParam("token") String[] encryptedEmplId, ModelMap model)
但每次我尝试这个时,我都会收到 404 page not found 错误和以下 Spring 异常:
org.springframework.web.servlet.mvc.multiaction.NoSuchRequestHandlingMethodException:没有为 servlet 请求找到匹配的处理程序方法:路径 '/pdf',方法 'GET',参数映射 ['taskId' -> 数组 ['1962326' , '1962264', '1962317', '1962328', '1962324', '1962427', '1962325', '1962323', '1963147', '1962327', '1962318', '1962329', '1 'token' -> 数组['xxxx']]
我注意到当我删除“/pdf?”链接的一部分并从 @RequestMapping 方法中删除 'value="/pdf"' 它工作正常。对于我的一生,我不明白为什么将 /pdf 添加到 url 并且 RequestMapping 不起作用。
【问题讨论】:
-
请为 DispatcherServlet 发布您的 web.xml servlet 映射
-
我相信您只需将其更改为 @RequestMapping("/action-plan/export/*") 和不带斜线的 @RequestMapping(value="pdf" ettc)
标签: spring spring-mvc