resource
用途
创建一个在任何地方可以被使用的链接(例如在 href里, javascript, ajax call 等.)
示例
一个 "shop"应用程序的controller:
"shop" 应用的示例:
<g:resource dir="css" file="main.css" /> == /shop/css/main.css
<g:resource dir="css" file="main.css" absolute="true"/> == http://portal.mygreatsite.com/css/main.css
<g:resource dir="css" file="main.css" base="http://admin.mygreatsite.com"/> == http://admin.mygreatsite.com/css/main.css
作为一个方法在GSP里的使用
:
<link type="text/css" href="${resource(dir:'css',file:'main.css')}" />
Results in:<link type="text/css" href="/shop/css/main.css" />
描述
属性
dir
(可选) -链接 grails 应用程文件夹的名称.
file
(可选) - 链接的文件
absolute
(可选) - 如果设为 "true" 将指向目标地址, 和 grails.serverURL 属性值 , 或 http://localhost:<端口> 如果没有配置,将不工作.
base
(可选) - 设置一个典型的绝对URL作为目标地址. 如果不两个被指定,将覆盖 absolute
属性的行为.
来源
Show Source
def resource = { attrs ->
def writer = out
if (attrs.base) {
writer << attrs.remove('base')
} else {
handleAbsolute(attrs)
}
writer << grailsAttributes.getApplicationUri(request);
def dir = attrs['dir']
if(dir) {
writer << (dir.startsWith("/") ? dir : "/${dir}")
}
def file = attrs['file']
if(file) {
writer << (file.startsWith("/") || dir?.endsWith('/') ? file : "/${file}")
}
}