尝试使用ajax(This is a snippet)
渲染所有联系人因此,点击后,它会在更新操作的div
列出联系人。我已经测试了一个基本的日期函数(看到已注释掉的渲染动作控制器),以确保ajax部分可以工作,但确实如此,但是处理列表我已经打了一个墙并绕圈子< / p>
GSP :
<g:remoteLink controller="event" action="showContacts" update="divContactList">Show Contacts!</g:remoteLink>
<div id="divContactList">Show contacts Here...
<g:each in="${contactList}" status = "i" var="contact">
<p>${contact.forname}</p>
<p>${contact.email}</p>
</g:each>
</div>
控制器:
def showContacts = {
def contactList = Contact.findAllByUser(lookupPerson())
// render "The time is now ${new Date()}"
render([contactList: contactList])
}
总的来说,它没有显示网页中的contactList的任何内容,对此的帮助将不胜感激
答案 0 :(得分:5)
_templateName.gsp:
<g:each in="${contactList}" status = "i" var="contact">
<p>${contact.forname}</p>
<p>${contact.email}</p>
</g:each>
GSP:
<g:remoteLink controller="event" action="showContacts" update="divContactList">Show Contacts!</g:remoteLink>
<div id="divContactList">Show contacts Here...
<g:render template="layouts/templateName" model="[contactList: contactList]" />
</div>
控制器:
def showContacts = {
def contactList = Contact.findAllByUser(lookupPerson())
// render "The time is now ${new Date()}"
render(template: 'layouts/templateName', model:[contactList: contactList])
}
答案 1 :(得分:3)
单击远程链接将向 showContacts 操作发送AJAX调用,获取HTML回答并使用返回的答案update divContactList 的内容。 showContacts 操作将呈现具有相同名称的模板,并将contactList作为模型的一部分传递给它。 如果您希望AJAX调用呈现联系人列表,您可以尝试以下options之一: