【发布时间】:2014-07-04 05:41:11
【问题描述】:
grails 链接、创建链接和资源标签之间有什么区别吗?我想知道何时使用每个标签,据我所知,createlink 标签已被贬低
【问题讨论】:
标签: grails
grails 链接、创建链接和资源标签之间有什么区别吗?我想知道何时使用每个标签,据我所知,createlink 标签已被贬低
【问题讨论】:
标签: grails
很简单:
g.createLink 仅生成 url,如 /aaa/bbb/222,例如基于控制器/动作/参数
g.link 生成<a>-HTML-tag,使用g.createLink 生成要放入@href 属性的url
g.resource 输出资源文件的路径,位于web-app 文件夹下
<link rel="stylesheet" href="${resource(dir:'css',file:'style.css')}" />
产生
<link rel="stylesheet" href="/css/style.css" />
【讨论】:
CREATE LINK 当你知道在 gsp 页面中使用喜欢的绝对或相对路径时,它会变得非常强大。
假设我有以下路径 /yourapp/controller1/view1 而不是使用
<a href="{grailscontext.thensomebaseurlstuff}/"+controller/view /> ,
根据某些上下文使用以下失败将使其变得容易。
<a href="${createLink(action: 'list')}">my link</a>
<g:createLink url="[action:'list',controller:'book']" />
而且,glink 是上面使用taglib 形式的实现。。与上面的效果相同,但在taglib 中会减少一些计算或创建一些不确定。
g.link("text of the link here", action:"foo", controller:"bar")
ResourceTags 难怪它在将 image、css 和 js 文件夹/文件资源附加到 grails 应用程序中时非常重要。
// generates "/shop/css/main.css"
<g:resource dir="css" file="main.css" />
// generates "http://portal.mygreatsite.com/css/main.css"
<g:resource dir="css" file="main.css" absolute="true" />
// generates "http://admin.mygreatsite.com/css/main.css"
<g:resource dir="css" file="main.css" base="http://admin.mygreatsite.com"/>
阿罗哈!
【讨论】: