欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Grails Domain Model 的数据绑定中需要注意的一个小问题

程序员文章站 2022-05-23 15:53:36
...

标题不知道写什么好,看正文吧。

 

在 Grails 中,你可以将表单提交的参数与 Domain Model 如是的进行数据绑定

 

def user = new User(params)

 

如果 User 中有一个 many 的属性,例如:

static hasMany = [tags: Tag]

 

此时,如果表单中有关于 Tag 的多个 Checkbox 或者多选的 Select,等等。例如:

<input type="checkbox" name="tags" value="${id}" />
......

 

这时 params 里将含有一个 key 为 tags 的值,这个值的类型为 String 数组。Grails 会将这个数组中的值作为 Tag 的 id,对 User 进行数据绑定。你也可以自己这样做,例如:

new User(name: 'abc', tags: ['1', '2'] as String[]).save()

 

需要注意的是 tags 的类型必须是数组,而不能是 Collection。

相关标签: Grails