include
用途
引用一个正确的 controler/action 或者view的响应.
示例
下面的例子是一个叫hop" 的应用里的一个controller.
class BookController {
def list = { [ books: Book.list( params ) ] }
def show = { [ book : Book.get( params['id'] ) ] }
}
include的使用:
<g:include action="show" id="1" />
<g:include action="show" id="${currentBook.id}" />
<g:include controller="book" />
<g:include controller="book" action="list" />
<g:include action="list" params="[sort:'title',order:'asc',author:currentBook.author]" />
在GSP,标签库里的调用示例:
def content = g.include(action:'list',controller:'book')
描述
属性
action
(可选) - action 的名称
controller
(可选) - controller 的名称
id
(可选) -唯一标识的id
view
(可选) - view 的名称
params
(可选) - 请求参数的 map
model
(可选) - 任一的请求参数 (模型) 传递给视图
Source
Show Source
def include = { attrs, body ->
if(attrs.controller || attrs.view){
def mapping = new ForwardUrlMappingInfo(controller:attrs.controller,
action:attrs.action,
view:attrs.view,
id:attrs.id,
params:attrs.param) out << WebUtils.includeForUrlMappingInfo(request,response,mapping, attrs.model ?: [:] )
}
}