link
用途
创建一个 html 锚标记, 设置 href
指定的参数.
示例
在
"shop"应用程序中的一个contrller:
class BookController {
def list = { [ books: Book.list( params ) ] }
def show = { [ book : Book.get( params['id'] ) ] }
}
controller的使用方法:
<g:link action="show" id="1">Book 1</g:link>
<g:link action="show" id="${currentBook.id}">${currentBook.name}</g:link>
<g:link controller="book">Book Home</g:link>
<g:link controller="book" action="list">Book List</g:link>
<g:link url="[action:'list',controller:'book']">Book List</g:link>
<g:link action="list" params="[sort:'title',order:'asc',author:currentBook.author]">
Book List
</g:link>
<g:link controller="book" absolute="true">Book Home</g:link>
<g:link controller="book" base="http://admin.mygreatsite.com">Book Home</g:link>
在 GSP 的使用方法:
<%= link(action:'list',controller:'book') { 'Book List' }%>
结果:
<a href="/shop/book/list">Book List</a>
描述
属性
action
(可选) - 要链接action的名称, 如果不指定将链接到默认的 action .
controller
(可选) - 要链接controller的名称, 如果不指定将链接到默认的 controller.
id
(可选) - link的id
params
(可选) - 包含请求参数的 map .
url
(可选) - 包含 action, controller, id 的map.
absolute
(可选) -如果设为 "true" 带着 Config的grails.serverURL 的属性值链接到目标地址, 或http://localhost:<端口> 如果没值在Config中,将不工作.
base
(可选) - 加上前缀链接到目标地址, 通过为绝对的 URL地址. 如果两个都被指定,将覆盖 absolute
属性的行为.
来源
Show Source
def link = { attrs, body -> def writer = getOut() writer << "<a href=\"${createLink(attrs).encodeAsHTML()}\"${attrs.collect {k, v -> " $k=\"$v\"" }.join('')}>"
writer << "${body()}</a>"
}