В Grails 3 командный объект получить поле для заполнения списка домена

Мне нужно сохранить список доменов, и для этого я использовал список в объекте команды в контроллере. Но когда я пытаюсь получить объект домена из списка аргументов (команда-объект), возникает ошибка IndexOutOfBound.

Я также попытался ленивым списком концепции с командным объектом. Тем не менее, список объектов команды не заполнен.

    class CategoryItems{ // command object class
       List<Item> items = new ArrayList<Item>()
    }

   class ItemController{
     def save(CategoryItems categoryItems){
            service.save(categoryItems.get(0)) // getting indexOutOfBound 
                                               //Exception
          }
     }

Как я могу заполнить Список командных объектов?

1 ответ

Решение

Когда вы передаете объект команды в качестве аргумента действия контроллера, вы получаете экземпляр этого объекта команды.

В вашем случае это экземпляр созданного вами командного объекта, а не список командных объектов. Поскольку вы создали список элементов, вы можете сохранить каждый элемент как таковой

categoryItems.items.each{
   service.save(it)
}

// or
categoryItems.items.each{ Item item ->
   service.save(item )
}
Другие вопросы по тегам