【问题标题】:creating a string for a link in grails without g:link在没有 g:link 的情况下为 grails 中的链接创建字符串
【发布时间】:2013-01-09 16:07:09
【问题描述】:

在如下标签中:

<a data-url="/new/request/showText/${requestInstance.id}"> view text</a>

有没有办法像我一样不硬编码网址?

我尝试使用&lt;g:link action="showText" id="${requestInstance.id}"&gt;,但这会呈现为锚标记。

我正在做的事情可能会找到,但我只是好奇在 grails 中是否有更好的方法来做到这一点?

【问题讨论】:

    标签: grails gsp


    【解决方案1】:

    你可以使用

    ${createLink(action:'myaction',params:[datasetId:dataset.id])}

    完全控制。它只返回类似http://myapp/myaction/123 的内容并支持g:link 支持的所有参数。

    更具体:

    <a data-url="${createLink(action:'showText',id: requestInstance.id)}"> view text</a>
    

    应该可以。

    【讨论】:

    • 对于除控制器和 GSP 之外的上下文(即,无法调用 taglib 的任何地方),值得了解 grailsLinkGenerator Spring bean:grailsLinkGenerator.link(...)createLink(...) 完成相同的工作
    【解决方案2】:

    您可以在${..} 中使用createLink 函数。

    所以在你的情况下,这将是:

    <a data-url="${createLink(controller: 'yourController', action: 'yourAction', params:[param1: 'value1'])}"> view text</a>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-23
      • 2018-03-14
      • 1970-01-01
      • 2021-11-29
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多