Grails 在我的布局视图中获取控制器数据
我正在研究grails,面临的问题是如何获取控制器(在我的例子中是contactGroup)的数据,该数据与布局视图中的另一个(contact)控制器有很多关系。下面是我的域类代码Grails 在我的布局视图中获取控制器数据,grails,view,controller,Grails,View,Controller,我正在研究grails,面临的问题是如何获取控制器(在我的例子中是contactGroup)的数据,该数据与布局视图中的另一个(contact)控制器有很多关系。下面是我的域类代码 class Contact { String number String name ... static hasMany = [groups: ContactGroup, messages: Message] static belongsTo = [Message, Con
class Contact {
String number
String name
...
static hasMany = [groups: ContactGroup, messages: Message]
static belongsTo = [Message, ContactGroup]
}
class ContactGroup {
String groupName
String description
...
static hasMany = [contacts: Contact, messages: Message]
}
下面是我的布局视图代码,用于获取括号中包含联系人数量的所有组。。。就像Gmail显示联系人和群组列表一样。
<h4>Contacts</h4>
<g:link controller="contact" action="list" class="active"><h5>All (${smsserver.Contact?.list().size()})</h5></g:link>
<g:layoutBody/>
<g:each in="${smsserver.ContactGroup}" var="c">
<g:link controller="contact" action="list">${c.findAll()}<br></g:link>
</g:each>
联系人
全部(${smsserver.Contact?.list().size()})
${c.findAll()}
请帮帮我。你有m:n关系。这意味着一个联系人有多个组,每个组有多个联系人。我说得对吗?您希望显示给定联系人的所有组和组中的所有联系人。 嗯
<ul>
<g:each in="${contact.groups}" var="group">
<li>
${group.groupName} (${group.contacts.size()})
</li>
</g:each>
</ul>
有关更多详细信息,请按相同的方式执行。。。但它显示了错误“无法获取null对象上的属性“groups”,您必须将“contact”放入模型。
<ul>
<g:each in="${contact.groups}" var="group">
<li>
<b>${group.groupName}</b> (${group.contacts.size()})
<ul>
<g:each in="${group.contacts}" var="c">
<li>
${c.name}
</li>
</g:each>
</ul>
</li>
</g:each>
</ul>
class ContactController {
def show(long id) {
def contact = Contact.get(id)
['contact': contact]
// or
// render view:'YourPage', model:['contact': contact]
}
}