Spring MVC ссылается на переменную params из RequestMapping - PullRequest
23 голосов
/ 15 февраля 2011

У меня есть метод ниже:

@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
}

Я знаю, как передать переменную "webletId" из RequestMapping с помощью @PathVariable, но как мне ссылаться на переменную "iconSize" из params?

Большое спасибо.

Ответы [ 2 ]

41 голосов
/ 15 февраля 2011

Использование @RequestParam:

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

См. Также:

17 голосов
/ 15 февраля 2011

axtavt верно

Я только хочу объяснить, в чем ваша ошибка:

Параметр @RequestMapping params является фильтром, чтобы убедиться, чтоМетод аннотированного обработчика вызывается только в том случае, если есть параметр с запрошенным значением.

Таким образом, метод обработчика, аннотированный @RequestMapping(params="action=doSomething"), будет вызываться только при наличии параметра запроса action с содержанием doSomething.

...