grailsgsp渲染问题

grailsgsp渲染问题,grails,gorm,gsp,Grails,Gorm,Gsp,我有一个域类,我想在运行时执行一个数据库调用,以填充一个对象列表作为属性。我有一个具有“headMember”属性的树,该属性是一个具有以下功能的对象: def marriages = { def marriages = Marriage.findAll("from Marriage as m where m.mainMember.name=:name", [name:name]) return [marriages:marriages] } 在我的GSP中,我使用${tree

我有一个域类,我想在运行时执行一个数据库调用,以填充一个对象列表作为属性。我有一个具有“headMember”属性的树,该属性是一个具有以下功能的对象:

def marriages = {
    def marriages = Marriage.findAll("from Marriage as m where m.mainMember.name=:name", [name:name])
    return [marriages:marriages]
}
在我的GSP中,我使用
${tree?.headMember?.marries}
访问模型的“headMember”属性,该属性从相关控制器中的以下函数传递到视图“tree”:

def show = {
        def tree = Tree.get(params.id)
        render(view:'show', model:[tree:tree])
    }
当我在浏览器中查看此内容时,我得到:

Member$_closure1@3708ab98
我希望有一份清单

知道我做错了什么吗


干杯。

当你呼叫婚姻时,你正在呼叫一个结束,这个结束被返回。我认为你应该把它改造成一种方法,比如:

static transients = ['marriages'] // tell hibernate that marriages is not a persistent property

List<Marriages> getMarriages(){
    return Marriage.findAll("from Marriage as m where m.mainMember.name=:name", [name:name])    
}
static transients=['marries']//告诉hibernate婚姻不是持久属性
列出{
return Marriage.findAll(“从作为m的婚姻中,其中m.mainMember.name=:name”,[name:name])
}

这样,当您在GSP中调用
${tree?.headMember?.marriations}
时,将调用
getmarriations()
方法,并应返回婚姻列表。

您是否可以显示您的树和headMember域类的外观?实际上,我在实现您的解决方案时犯了一个错误。很好用!非常感谢:-)