我需要存储一个域列表,为此我在控制器的命令对象中使用了一个列表。 但是当我尝试从参数(命令对象)列表中获取域对象时,它会给我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
}
}
如何填充命令对象列表?
答案 0 :(得分:1)
将命令对象作为参数传递给控制器操作时,会收到该命令对象的实例。
在您的情况下,它是您创建的命令对象的实例,而不是命令对象列表。由于您已创建项目列表,因此可以保存每个项目
categoryItems.items.each{
service.save(it)
}
// or
categoryItems.items.each{ Item item ->
service.save(item )
}