【发布时间】:2014-12-10 14:47:24
【问题描述】:
我无法在关联类中绑定布尔属性。如果我选中复选框(好),属性设置为 true,但如果未选中复选框,则属性设置为 null。
我知道 HTML 复选框的问题。我知道为什么在参数中发送“_fieldName”,但是这个“_fieldName”并没有将我的布尔属性设置为 false。
class Person{
String title
List<Group> groups = new ArrayList()
static hasMany = [groups: Groups]
}
class Group{
String title
Boolean isHidden
static belongTo = Person
}
class PersonController{
def form = {
def person = new Person()
person.groups.add( new Group() )
return ["person": person]
}
def handleForm = {
def person = new Person( params )
println person.groups[0]
}
}
<g:form action="save">
<g:textField name="title" value="${person?.title}" />
<g:textField name="groups[0].title" value="${person?.groups[0]?.title}"/>
<g:checkBox name="groups[0].isHidden" value="${person?.groups[0]?.isHidden}" />
<g:submitButton name="save" value="Save" />
</g:form>
如果我选中复选框:
[isHidden:on, 标题:a, _isHidden:]
println person.groups[0] //true
如果我不选中复选框:
[标题:a,_isHidden:]
println person.groups[0] //null
非常感谢您的帮助
汤姆
很抱歉,我搜索了这个网站,但没有得到真正的信息来解决我的问题。
【问题讨论】:
-
一些 GSP 代码在这里可能有用。
-
嗨,斯科特,我附上了 GSP 代码。谢谢汤姆
-
这个 bug 还没有在 grails github repo 上修复:github.com/grails/grails-core/blob/master/grails-plugin-gsp/src/… 这让我发疯了!!
标签: grails