сначала у меня была эта ссылка на значок Twitter:
@{'/public/images/twitter-icon.png'/}
, но теперь я хочу показать значок Twitter-, Facebook- или Linkedin в зависимости от типа. Итак, я создал Fasttag, который принимает тип в качестве параметра, и код выглядит так:
In the view:
#{myApp.icon contact.type/}
FastTag Java Code:
String type = (String) args.get("arg");
out.print("/public/images/" + type + "-icon.png");
Это работает нормально. Но, на нашем сервере сборки мы запустим приложение с префиксом на URI, как это
http://ourdomain.com/appname/...
, очевидно / публично / изображения ... не будет работать здесь. Поэтому я подумал, что должен попросить маршрутизатор для правильного адреса. Я пробовал следующее без успеха:
Router.reverse("/public/images/" + type + "-icon.png");
Router.reverse("/public/");
Router.reverse("staticDir:public");
Все три приводят к NoroutefoundException. Как я могу получить правильный маршрут для моих иконок?
в файле маршрутов у меня есть маршрут по умолчанию для статических файлов
GET /public/ staticDir:public