<g:link controller="foo" action="bar">foobar</g:link>
标签有时会起作用,即呈现为
<a href="grailsapp/foo/bar">foobar</a>
有时不会。在这种情况下,我会得到一个
<a href="grailsapp/">foobar</a>
有谁知道导致此标记无法扩展的条件是什么?还有什么方法可以调试标签扩展逻辑吗?
答案 0 :(得分:1)
要调试 - 您需要的文件位于
$ GRAILS_HOME \ SRC \的java \有机\ Codehaus的\常规\的grails \插件\网络\标签库\ ApplicationTagLib.groovy
答案 1 :(得分:0)
这可能无法解决您的问题或其他人的问题,但我也遇到了同样的问题。我有一个我想链接到的/ mywebapp / session / login URL,但是<g:link controller="session" action="login">
刚刚解析为/ mywebapp /.
但事实证明我已将我的上下文根“/”映射到显示登录页面。我以为它会重定向,但实际上它暴露了“/”的Session.login页面。因此,当grails被告知创建一个链接转到Session.login时,它可以提出的最简单的链接将带我到那里“/”。所以“/”毕竟是正确的。
如果仍然无法使其正常工作,但仍需要一种方法来生成相对于上下文根的链接,则可以使用<a href="${createLink(uri: '/foo/bar')}">
答案 2 :(得分:0)
只有一条可能有用的评论:
如果你在.gsp文件中的文件夹:
这很好用:&gt;&gt; <a href="${createLink(uri: '/foo/bar')}">
如果你在src / template中的.gsp文件中(例如修改list.gsp,create.gsp等):
您必须添加如下反斜杠:<a href="\${createLink(uri: '/foo/bar')}">