Я пытаюсь переопределить тег 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 /, что приводит к тому, что ссылка не работает.
Есть ли способ предотвратить автоматическое кодирование новой косой черты или лучший способ добавить префикс этой строки к пути контроллера?