Grails:为什么<g:link>没有发送链接?</g:link>

时间:2014-02-24 13:20:14

标签: grails gsp

我有:

<td>
   <g:link controller="dashboard" action="view">Dashboard</g:link>
   <a href="fkd.co">Hello</a>
</td>

结果是:

  

信息中心Hello

2 个答案:

答案 0 :(得分:0)

看起来您的gsp页面根本没有被编译过。在Web浏览器中检查源。您应该使用run-app命令运行嵌入式服务器,然后访问该页面。

答案 1 :(得分:0)

我刚刚发现<g:link>overwritten,如果登录用户有权访问该链接,则只会创建链接,否则会发出正文。代码如下:

def link = { attrs, body ->

        def url = "/${pageScope.controllerName}/${attrs.action}"

        if( !securityService.isLoggedIn() ||
            securityService?.hasAccessToUri("/${pageScope.controllerName}/${attrs.action}") ) {

            def originalTagBean = grailsApplication.mainContext.getBean('org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib')

            originalTagBean.link.call(attrs, body)
        } else {
            out << body()
        }

    }