В макросах привязки Springs Velocity (или в библиотеке тегов JSP) какая ссылка на «команду»? - PullRequest
0 голосов
/ 07 ноября 2010

В Spring 3, если у меня есть объект формы, подобный так:

public Person {
   String firstname = null;
   String lastname = null;
   // ... getter & setters ...
}

Теперь я понимаю, что могу получить этот объект в качестве параметра в методе моего контроллера и что Spring свяжет параметры формы с получателями / установщиками моего объекта Person.

Теперь я хочу использовать макросы привязки пружин (эквивалентные тегам JSP для привязки к объектам формы).

Во всех документах, которые я читаю, говорится, что по умолчанию существует объект "команда" (что это значит, я пока не понимаю). Кажется, я должен иметь возможность ссылаться на объект Person с помощью вызова, такого как:

#springBind("command.firstname")

Но я не понимаю, откуда берется «команда» или что она означает, и я не понимаю, что мне нужно сделать в моем контроллере, чтобы сделать это «связывание» возможным.

  • Нужно ли что-то добавить в модель?
  • Нужно ли для Spring определить, что объект Person является объектом формы?
  • Должен ли я добавить <"command", new Person ()> в модель перед отображением страницы или повторным отображением страницы после отправки формы с ошибками?
  • Что пошло в контроллер, чтобы сделать "команду" значимой для макроса?

Я запутался здесь, и мне просто не хватает какой-то действительно очень простой концепции, я думаю.

1 Ответ

1 голос
/ 07 ноября 2010

Да, вам нужно добавить объект команды в Model.И вам нужно поместить его туда уже при рендеринге пустой формы, поэтому model.addAttribute("command", new Person()) - правильный путь.При ошибках проверки вы можете использовать отправленный объект Person, чтобы пользователь не потерял все свои данные для отправки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...