Если вы не используете Asset-Pipeline, вы можете сопоставить статические ресурсы с URL-адресами, выполнив шаги, описанные в Документация по Grails. Однако ваш вопрос заключается в том, как сопоставить один ресурс с одним URL-адресом с помощью плагина Asset-Pipeline.
Берт Беквит рассказал о форуме Grails. несколько лет назад о роли Grail в обслуживании статических ресурсов.
Grails обслуживает не статические ресурсы, а контейнер. Таким образом, нет возможности напрямую настроить отображение — вам нужно обслуживать его через контроллер или настроить прокси, как предлагает Эрик.
Берт
Этот ответ может быть неудовлетворительным. Но если вы должны обслуживать статический ресурс и совершенно не хотите использовать контроллер или прокси, вы можете попробовать следующее.
Создайте представление с именем image.gsp. Представление будет содержать только тег актива. Используя ваши примеры выше,
<asset:image src="t1.png"/>
Затем настройте сопоставления URL-адресов, чтобы они указывали на страницу image.gsp
.
class UrlMappings {
static mappings = {
...
"/t1.png" (view: "image")
...
}
}
Я понимаю, что это может быть не тот метод, который вы надеялись использовать. Но я думаю, что понимание того, какую роль играет Grails по сравнению с контейнером, на котором работает Grails, поможет принять решение о правильном обслуживании ресурса пользователем.
Я знаю, что это может показаться несвязанным, но если вы хотите создать страницу со списком содержимого каталога, проверьте это сообщение от CodePanda. Его код можно использовать в качестве шаблона для создания контроллера для обслуживания одного файла, и он объясняет, как обновить представление, контроллер и groovy.config.
person
Nathan
schedule
27.07.2015