У меня есть класс Person
с двумя свойствами: name
и address
. Я хочу создать страницу GSP, которая позволяет одновременно создавать 10 пользователей. Вот как я это реализую, и мне было интересно, есть ли лучший способ:
Сначала создайте 20 текстовых полей на странице GSP - 10 с someperson.name
и 10 с someperson.address
именами полей (сделайте их в цикле или кодируйте их все по отдельности, не имеет значения).
Во-вторых, обработайте отправленные данные в контроллере. Объект someperson
имеет отправленные данные, но в не очень приятной структуре ([name: ['Bob', 'John'], address: ['Address 1', 'Address 2']]
), поэтому я вызываю transpose()
, чтобы получить доступ к парам name
, address
.
Затем создайте список Person
объектов, используя пары, полученные из предыдущего шага, и подтвердите / сохраните их.
Наконец, если проверка не пройдена (name
не может быть null
), сделайте что-нибудь ... пока не знаете что! Я подумываю о передаче коллекции Person
объектов в GSP, где они повторяются с использованием цикла, и если hasErrors
, то показывают их ... Не знаю, как выделить поля, которые не прошли проверку ...
Итак, есть ли лучший способ (вероятно, я должен спросить, ЧТО ТАКОЕ лучший способ)?