【发布时间】:2011-03-11 21:33:30
【问题描述】:
我正在尝试覆盖 g:link 标记,以便可以为额外的字符串添加前缀。这是我的代码:
import org.codehaus.groovy.grails.plugins.web.taglib.*
class ApplicationTagLib {
static namespace = "g"
def link = { attrs, body ->
if("es".equalsIgnoreCase(request.stLocale.language)) {
attrs['controller'] = "es/" + attrs['controller']
}
def applicationTagLib = grailsApplication.mainContext.getBean('org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib')
applicationTagLib.link.call(attrs, body)
}
}
这很好用,除了当我添加“es/”时,生成的路径会被转换为 es%2F 而不是 es/,这会导致链接不起作用。
有没有办法防止它自动编码新的斜杠,或者有更好的方法将此字符串前缀到控制器路径?
【问题讨论】:
-
也许更好的方法是使用反向 URL 映射来做到这一点:grails.1312388.n4.nabble.com/…
标签: grails