Spring MVC引用RequestMapping中的params变量

时间:2011-02-15 07:24:23

标签: java spring spring-mvc servlets request-mapping

我有以下方法:

@RequestMapping(value = "/path/to/{iconId}", params="size={iconSize}", method = RequestMethod.GET)
public void webletIconData(@PathVariable String iconId, @PathVariable String iconSize, HttpServletResponse response) throws IOException {
    // Implementation here
}

我知道如何使用@PathVariable从RequestMapping传递变量“webletId”,但是如何从params引用变量“iconSize”?

非常感谢。

2 个答案:

答案 0 :(得分:41)

使用@RequestParam

@RequestMapping(value = "/path/to/{iconId}", method = RequestMethod.GET) 
public void webletIconData(@PathVariable String iconId, 
    @RequestParam("size") String iconSize, 
    HttpServletResponse response) throws IOException { ... }

另见:

答案 1 :(得分:17)

axtavt是对的

我只想解释你的错误是什么:

@RequestMapping params参数是一个过滤器,用于确保仅在存在具有请求值的参数时才调用带注释的处理程序方法。

因此,只有存在内容为@RequestMapping(params="action=doSomething")的请求参数action时,才会调用使用doSomething注释的处理程序方法。