Как Spring кодирует POJO в GET-запросах для @ModelAttribute? - PullRequest
0 голосов
/ 20 апреля 2011

У меня Spring MVC контроллер настроен так:

@RequestMapping("activityChart")
public ModelAndView activityChart(
  @RequestParam(required=false, value="parent") String parent,
  @RequestParam(required=false, value="expand") String[] expand,
  @ModelAttribute PaginationArgs paginationargs) throws IOException {

// ... return template renderer

}

Где PaginationArgs - POJO с двумя полями. Я хочу создать строку URL, которая включает в себя значения для paginationargs. Это легко сделать для parent и expand - activityChart?parent=foo&expand=bar&expand=baz, но как правильно кодировать поля POJO?

JSP позаботится об этом весной с помощью тега <form:form modelAttribute='paginationargs'>, но в нашем проекте используется не JSP, а Jamon.

1 Ответ

1 голос
/ 20 апреля 2011

В простом случае имена параметров должны совпадать с именами соответствующих полей объекта модели. Итак, если PaginationArgs имеет поля page и size, это будет похоже на page=1&size=10.

В более сложных случаях Spring может принимать параметры, имена которых формируются, как описано в 5.4 Манипулирование компонентами и BeanWrapper .

...