Переключение с ASP.NET-кода на Play MVC и много вопросов - PullRequest
1 голос
/ 30 ноября 2011
  1. Как динамически отображать HTML в Play? Например, у меня есть таблица enum или DB со списком платформ (pc / xbox / ps3). Я хочу сделать в своей HTML-форме список флажков с каждым из них. Пока я только жестко закодировал HTML-форму с элементами, но в долгосрочной перспективе она должна быть динамичной, а списки (checkbox / radio / dropdown) должны быть привязаны к системе, чтобы они получали новые элементы по мере добавления новых элементов в база данных.

  2. При обратной передаче как мне получить доступ к этим полям формы в контроллере, обрабатывающем обратную передачу? Я обнаружил, что в списке параметров функции действия контроллера я могу указать имя поля формы, и это работает, но это нереально, если у меня будут формы с 100 полями, тогда я не хочу Я должен объявить 100 параметров в моей функции действия контроллера.

1 Ответ

2 голосов
/ 30 ноября 2011
  1. Вы можете вызвать метод values() для перечислений, чтобы получить массив значений перечислений. А затем сопоставьте его с List. Например, вы можете использовать Lists.newArrayList(array) из Google-коллекций.

  2. параметров формы, которые вы можете найти в request.params hashmap. Запрос - это поле, унаследованное от play.mvc.Controller.

Также взгляните на это http://www.playframework.org/documentation/1.2.3/cheatsheet/controllers. (Полезные вещи, но их нелегко найти)

UPD

List theList =....;
render(theList);

и в шаблоне (пример для выбора):

<select id="viewSelect" size="1" >
  #{list items:theList, as:'listItem'}
   <option id="${listItem.getId()}">${listItem.getName()}</option>
  #{/list}
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...