render
用途
使用一个内置的或者用户自定义的 Groovy 模板,这个模板可以作为接口,单例或者一个list使用.
示例
domain class:
class Book {
String title
String author
}
template:
<p>${it.title}</p>
<p>${it.author}</p>
无论是一个list,还是单独的,这个模板能被重复的使用.每个接口都可以重复的使用模板的list.
<g:render template="displaybook" collection="${books}" />
或
<g:render template="displaybook" bean="${book}" />
或者您可以创建一个模板来处理特定类型的模式:例如模板如下:
<p><%= book.title %></p>
<p><%= author.fullName %></p>
使用模板如下:.这个技术缺点,模板少,可重复利用.
<g:render template="displaybook" model="['book':book,'author':author]" />
它也可以确定变量的名称,使用模板渲染标记.
模板示例:
<p>${myBook.title}</p>
<p>${myBook.author}</p>
render调用模板的示例
<g:render template="displaybook" collection="${books}" var="myBook"/>
描述
注意的是:如果模板的属性值是以一个'/'开始,解决视图文件夹的相对路径.这是非常有用的两个视图之间共享.如果没有'/',以当前controller视图的文件夹为相对位置解决.如果失败了,将往上一层视图文件夹去找.在这种情况下模板文件名称必需以 '_' 下划线开头,但是在模板属性中是没有下划线或者.gsp后缀的.
属性
template
(必需) -模板的名称
bean
(可选) - 提供模板的bean
model
(可选) - 作为一个java.util.Map提供模板.
collection
(可选) - model对象的集合.
var
(可选) - 在模板中,被参照的bean变量名称.
plugin
(可选) - 在plug-in 搜索模板
来源
查看 render章节