在如下标签中:
<a data-url="/new/request/showText/${requestInstance.id}"> view text</a>
有没有办法不像我那样对网址进行硬编码?
我尝试使用<g:link action="showText" id="${requestInstance.id}">
但是会渲染到锚标记。
我正在做的事情可能会被发现,但我只是好奇是否有更好的方法在grails中这样做?
答案 0 :(得分: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>
应该有用。
答案 1 :(得分:1)
您可以使用createLink
内的${..}
功能。
所以在你的情况下,这将是:
<a data-url="${createLink(controller: 'yourController', action: 'yourAction', params:[param1: 'value1'])}"> view text</a>