在 grails 3 命令对象中获取字段以填充域列表
In grails 3 command object get field to populate list of domain
我需要存储一个域列表,为此我在控制器的命令对象中使用了一个列表。
但是当我尝试从参数(命令对象)列表中获取域对象时,它给我 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
}
}
如何填充命令对象列表?
当您将命令对象作为参数传递给控制器操作时,您会收到该命令对象的一个实例。
在您的例子中,它是您创建的命令对象的实例,而不是命令对象列表。由于您已经创建了项目列表,因此您可以按原样保存每个项目
categoryItems.items.each{
service.save(it)
}
// or
categoryItems.items.each{ Item item ->
service.save(item )
}
我需要存储一个域列表,为此我在控制器的命令对象中使用了一个列表。 但是当我尝试从参数(命令对象)列表中获取域对象时,它给我 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
}
}
如何填充命令对象列表?
当您将命令对象作为参数传递给控制器操作时,您会收到该命令对象的一个实例。
在您的例子中,它是您创建的命令对象的实例,而不是命令对象列表。由于您已经创建了项目列表,因此您可以按原样保存每个项目
categoryItems.items.each{
service.save(it)
}
// or
categoryItems.items.each{ Item item ->
service.save(item )
}