Как мне обратиться за маршрутом статическим файлом?

сначала у меня была эта ссылка на значок 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
7
задан Jörgen Lundberg 8 September 2011 в 09:03
поделиться