在没有g:link的情况下为grails中的链接创建字符串

bir*_*rdy 4 grails gsp

在如下标签中:

<a data-url="/new/request/showText/${requestInstance.id}"> view text</a>
Run Code Online (Sandbox Code Playgroud)

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

我尝试使用<g:link action="showText" id="${requestInstance.id}">但渲染到锚标记.

我正在做什么可能会找到,但我只是好奇,如果有更好的方法在grails中这样做?

Mar*_* L. 9

你可以用

${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>
Run Code Online (Sandbox Code Playgroud)

应该管用.

  • 对于控制器和GSP以外的上下文(即无法在任何地方进行taglib调用),值得了解[grailsLinkGenerator](http://grails.org/doc/latest/guide/introduction.html#webFeatures)Spring bean: grailsLinkGenerator.link(...)`与`createLink(...)`完成相同的工作 (2认同)