Передача массива / списка / последовательности через POST в игре 1.2.4 с scala 0.9.1 - PullRequest
1 голос
/ 03 февраля 2012

Мне удалось найти примеры только в java, и все они, похоже, предполагают, что то, что я делаю, должно "просто работать". У меня есть форма, подобная следующей (либо с именем как «id» или «id []», оба дают одинаковые результаты). Я попытался объявить мой метод редактирования как List [Int] или Seq [Int], но в обоих случаях id становится NULL. Если я сбрасываю params, я вижу, что тело на самом деле содержит правильную строку запроса, и если я просто делаю get («id»), он возвращается как int, содержащий первое значение (1). Как я могу получить какой-то заказанный контейнер (не важно, список ли это, следующий или какой-то другой), отправленный через форму?

<form method="post" action="">
    <input type="hidden" name="id" value="1" />
    <input type="hidden" name="id" value="2" />
    <input type="hidden" name="id" value="3" />
    <input type="hidden" name="id" value="4" />
    <input type="text" name="name" />
    <input type="submit" />
</form>

def edit(id: List[Int]) = {...}

1 Ответ

1 голос
/ 04 февраля 2012

Play не обрабатывает типы коллекций Scala из форм, только коллекции Java. Оставьте форму как есть, но измените метод на:

def edit(id: java.util.List[Int]) = {...}

Решает проблему. Затем вы можете преобразовать свой список Java в список Scala и использовать его как обычно.

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