我在關聯類中綁定布爾屬性時遇到了問題。屬性設置爲true如果我選中複選框(好),但是null如果未選中checbox。Grails複選框
我知道HTML複選框的問題。我知道爲什麼在params中發送「_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:]
的println person.groups [0] //真正
如果我不檢查複選框:
[標題:一個,_isHidden:]
的println person.groups [0] // 空
非常感謝您的幫助
Tom
對不起,我搜索了這個網頁,但沒有得到我麻煩的實際信息。
一些GSP代碼在這裏很有用。 – 2010-05-30 22:54:38
嗨斯科特,我附加了GSP代碼。謝謝 Tom – 2010-05-31 05:48:17
這個bug還沒有在grails github repo上修補:https://github.com/grails/grails-core/blob/master/grails-plugin-gsp/src/main/groovy/org/codehaus/ groovy/grails/plugins/web/taglib/FormTagLib.groovy這讓我瘋狂! – 2012-03-01 15:09:20