Jeśli mam względną ścieżkę do zasobu statycznego (flash/blah.swf), jaki jest najlepszy sposób programowej konwersji tego na bezwzględny adres URL (http://localhost/app/flash/blah.swf)? Lub jaki jest najlepszy sposób na uzyskanie podstawowego adresu URL aplikacji Wicket? Próbowałem używać RequestUtils.toAbsolutePath, ale nie wydaje się działać niezawodnie i często rzuca wyjątków. To musi działać na wszystkich serwerach, na których aplikacja jest wdrożona.Wicket: Względem bezwzględnego adresu URL lub adresu URL bazy
Odpowiedz
RequestUtils.toAbsolutePath(RequestCycle.get().getRequest().
getRelativePathPrefixToWicketHandler());
pracował dla mnie.
org.apache.wicket.protocol.http.servlet.ServletWebRequest
ma metodę getRelativePathPrefixToContextRoot()
(faktycznie zdefiniowaną jako abstrakcyjna w nadklasie).
Standardowa idiom za korzystanie z niego jest
RequestCycle.get().getRequest().getRelativePathPrefixToContextRoot() + location;
skończyło się za pomocą czegoś takiego po dodaniu właściwość base_url
do mojego MyApplication
klasy, która rozciąga stosowanie furtki.
MyApplication app = (MyApplication)getApplication();
String appBaseUrl = app.getBaseUrl();
if (StringUtils.isEmpty(appBaseUrl)) {
appBaseUrl = RequestUtils.toAbsolutePath(urlFor(app.getHomePage(), new PageParameters()).toString());
app.setBaseUrl(appBaseUrl);
}
// Add base URL to <script wicket:id="base_url"></script> to use with Flash
add(new Label("base_url", "base_url = \"" + appBaseUrl + "\";").setEscapeModelStrings(false));
Dla Wicket 1.5 znajduje się informacja here
Dla Wicket 6 jest
String absoluteUrl = RequestCycle.get().getUrlRenderer().renderFullUrl(Url.parse("my-relative-url.html"));
działa to dla furtki 1.5 także – 1ac0
Podstawowym adresem URL jest 'String baseUrl = RequestCycle.get(). GetUrlRenderer(). GetBaseUrl(). ToString()' –
- 1. Generowanie adresu URL względem podstawowego adresu URL w usłudze laravel 4
- 2. Obsługa adresu URL RESTful URL
- 3. Droga wielbłądów od mola do bezwzględnego adresu URL
- 4. Jak cofnąć nazwę do bezwzględnego adresu URL w szablonie django?
- 5. Django: Uzyskiwanie bezwzględnego adresu URL bez dostępu do obiektu żądania
- 6. Wicket Dynamic Image URL
- 7. Przekierowanie adresu URL Django
- 8. Znajdowanie adresu URL LDAP?
- 9. Uzyskiwanie pełnego adresu URL z adresu URL znakiem tyldy (~)
- 10. Szykuje jak zażądać adresu URL z wyjątkiem parametrów adresu URL?
- 11. Zmiana adresu URL Wordpress Image URL
- 12. Wywołanie adresu URL rakiety
- 13. Zdobądź część adresu URL
- 14. Kodowanie adresu URL Drupala
- 15. Parametry adresu URL GWT
- 16. Kodowanie adresu URL MVC3?
- 17. .htaccess Przepisywanie adresu URL
- 18. Sprawdzanie adresu URL mvc4
- 19. Wyczyść przekierowanie adresu URL
- 20. Algorytm skracania adresu URL
- 21. Kodowanie adresu URL programu ASP.Net
- 22. Ukryj index.php (lub index.html) adresu URL
- 23. Czy ścieżka adresu URL "/ #!" specjalny lub exploit?
- 24. Kodowanie adresu URL tak/nie?
- 25. Hiperłącze względem bieżącego adresu URL, a nie ścieżka kontroli użytkownika
- 26. Django: uzyskiwanie poprzedniego adresu URL
- 27. Konwersja adresu URL blobu na zwykły URL
- 28. Jak uniknąć kodowania adresu URL?
- 29. Zmień Joomla adresu URL administrator
- 30. zmiana domyślnego adresu URL phpmyadmin
Należy pamiętać, że to nie działa w Wicket 1.5, który nie ma jednego argumentu 'toAbsolutePath' –