Początkowo miałem ten link ikoną Twitterze:Jak mogę odwrócić trasę pliku statycznego?
@{'/public/images/twitter-icon.png'/}
Ale teraz chcę pokazać ikonę Twitter-, Facebook- lub LinkedIn w zależności od typu. Stworzyłem więc FastTag, który przyjmuje typ jako parametr, a kod wygląda następująco:
In the view:
#{myApp.icon contact.type/}
FastTag Java Code:
String type = (String) args.get("arg");
out.print("/public/images/" + type + "-icon.png");
Działa dobrze. Ale na naszym serwerze kompilacji możemy uruchomić aplikację z prefiksem na URI jak ten
http://ourdomain.com/appname/...
Oczywiście/public/obrazy ... nie zadziała tutaj. Więc pomyślałem, że muszę poprosić router o właściwy adres. Próbowałem następujących bez powodzenia:
Router.reverse("/public/images/" + type + "-icon.png");
Router.reverse("/public/");
Router.reverse("staticDir:public");
Wszystkie trzy wynik w NoRouteFoundException. Jak mogę uzyskać poprawną trasę dla moich ikon?
W trasach złożyć Mam trasy domyślnej dla plików statycznych
GET /public/ staticDir:public
Każda szansa Czy mógłbyś spróbować nieco rozszerzyć tę odpowiedź? W rzeczywistości tak naprawdę nic nie mówi:/ – obfuscation