Я хотел бы создать средство отображения ресурсов Grails, которое добавляет строку запроса к actualUrl.Пока что все попытки потерпели неудачу, но, возможно, я поступаю неправильно.Ниже приведен пример кода:
import org.grails.plugin.resource.mapper.MapperPhase
import org.apache.commons.logging.LogFactory
class GlobalizationResourceMapper {
def log = LogFactory.getLog(this.class)
def phase = MapperPhase.RENAMING
def operation = "globalizationquerystring"
def priority = -1
static defaultExcludes = ['**/*.png', '**/*.gif', '**/*.jpg', '**/*.jpeg', '**/*.gz', '**/*.zip']
static defaultIncludes = ['**/*.js','**/*.gsp']
/**
* Cache the resource based on current language in use. Do this by appending a query string on the resource URL indicating language.
*/
def map(resource, config) {
def query = [l:'en_US']
resource.actualUrl = resource.actualUrl + '?' + query.collect { it }.join('&')
if (log.debugEnabled) log.debug "Modified URL: ${resource.actualUrl}"
log.info "Modified URL: ${resource.actualUrl}"
}
}
Фактический URL-адрес изменяется соответствующим образом, но любой запрашиваемый ресурс заканчивается в цикле перенаправления и 404-х.