Spring Forms - значение для формы: выберите атрибуты элементов - PullRequest
0 голосов
/ 11 января 2012

У меня есть задний боб для моей формы. Эта часть отлично работает.

У меня есть возможные значения для поля, уже настроенного как список на моем компоненте поддержки. Есть ли способ получить доступ к этому списку в контексте commandName так же, как используется path?

Как пример:

(я этого не хочу)

<form:form method="POST" commandName="address">
   <form:select path="country">
      <form:options items="${address.countryList}" itemValue="countryId" itemLabel="countryName" />
   </form:select>
</form:form>

(я хочу получить к нему доступ таким образом)

<form:form method="POST" commandName="address">
   <form:select path="country">
      <form:options items="countryList" itemValue="countryId" itemLabel="countryName" />
   </form:select>
</form:form>

Я вижу много примеров в Интернете с использованием стиля EL {$} для атрибута items, но мне интересно, может ли кто-нибудь показать мне, как это делается в контексте формы. Из-за отсутствия лучшего термина я хотел бы получить доступ к списку, который находится в той же «области видимости», что и commandName.

Можно ли это сделать?

В случае, если вам интересно, почему я хочу сделать это следующим образом: у меня есть несколько форм, которые находятся во вложенных циклах глубиной в несколько уровней, поэтому в итоге я получаю около 9 форм, которые имеют похожие (но не точные) списки поэтому я не могу использовать один и тот же список каждый раз, поэтому у меня есть список на бине поддержки. Список содержит допустимые значения, характерные для каждого компонента.

1 Ответ

0 голосов
/ 11 января 2012

Нет, потому что path и items принципиально различны.

TLD указывает, что атрибут path тега формы указывает, к какому полю должен быть привязан выбранный параметр, а атрибут items - удобный способ создания всех параметров.

Вашему контроллеру все еще понадобится код, примерно такой:

 public String formSetup(ModelMap model) {
     //...
     model.put("countryList", backingBean.getCountryList());
     //...
     return "mySuperAwesomeView.jsp";
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...