gpt4 book ai didi

Grails 复选框

转载 作者:行者123 更新时间:2023-12-03 18:19:04 24 4
gpt4 key购买 nike

我在关联类中绑定(bind) bool 属性时遇到了麻烦。属性设置为 真实 如果我选中复选框(好),但是是 如果未选中复选框。

我知道 HTML 复选框的问题。我知道为什么在参数中发送“_fieldName”,但是这个“_fieldName”没有将我的 bool 属性设置为 .

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]//

非常感谢您的帮助
汤姆

对不起,我搜索了这个网站,但没有得到我的麻烦的实际信息。

最佳答案

经过多次黑客攻击,答案似乎是 grails 正在寻找一个名称为的标记字段:

groups[0]._isHidden

而不是
_groups[0].isHidden

这实际上是 g:checkBox标签生成。见 GrailsDataBinder.java:911请参阅 propertyStartsWithFieldMarkerPrefix(PropertyValue pv, String fieldMarkerPrefix) 进行确认

如果您有兴趣,我已将此问题的测试项目上传到 gitub.com

关于Grails 复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2937775/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com