Привязка параметров настраиваемого метода Spring MVC

Я ищу способ настроить привязку параметров Spring MVC по умолчанию. Возьмите этот метод в качестве примера:

@RequestMapping(value="/index.html")
public ModelAndView doIndex(@RequestParam String param) {
  ...

Это легко, когда у меня есть только String , которую я хочу извлечь из запроса. Однако я хочу заполнить более полный объект, чтобы мой метод выглядел следующим образом:

@RequestMapping(value="/index.html")
public ModelAndView doIndex(Foo bar) {
  ...

Я ищу способ объявить привязку типа этот;

@RequestMapping(value="/index.html")
public ModelAndView doIndex(@FooPopulator Foo bar) {
  ...

И у меня есть другой тип разработчика (определяется аннотацией @FooPopulator ), который делает это:

public void doBind(Foo target, ServletRequest originalRequest) {
  target.setX(this.computeStuffBasedOn(originalRequest));
  target.sety(y);
}

Пока что я узнал об аннотации связующего @InitBinder но я не уверен, действительно ли это правильный выбор для данного сценария.

Какой лучший способ?

13
задан Sean Patrick Floyd 29 June 2011 в 10:53
поделиться