Калитка: Получить URL из браузера - PullRequest
6 голосов
/ 08 октября 2010

Мне нужно получить URL с текущей веб-страницы, открытой в Firefox, с помощью Wicket.Может кто-нибудь сказать мне, как это сделать?

Ответы [ 5 ]

6 голосов
/ 12 октября 2010

Вам необходимо запросить базовый HTTPServletRequest :

public class DummyPage extends WebPage{

    private String getRequestUrl(){
        // this is a wicket-specific request interface
        final Request request = getRequest();
        if(request instanceof WebRequest){
            final WebRequest wr = (WebRequest) request;
            // but this is the real thing
            final HttpServletRequest hsr = wr.getHttpServletRequest();
            String reqUrl = hsr.getRequestURL().toString();
            final String queryString = hsr.getQueryString();
            if(queryString != null){
                reqUrl += "?" + queryString;
            }
            return reqUrl;
        }
        return null;

    }

}

Ссылка:

5 голосов
/ 01 июня 2012

Чтобы получить URL текущей страницы, используйте веб-запрос и UrlRenderer:

Url url = ((WebRequest)RequestCycle.get().getRequest()).getUrl();
String fullUrl = RequestCycle.get().getUrlRenderer().renderFullUrl(url);
5 голосов
/ 10 августа 2011

Решение от Шона Патрика Флойда устарело для калитки 1.5

Если вы используете калитку 1.5 (или выше, я думаю), вот решение:

RequestCycle.get().getUrlRenderer().renderFullUrl(
    Url.parse(urlFor(MyPage.class,null).toString()));

Ссылка

Получение URL для отображения

1 голос
/ 27 февраля 2014

Это работает. Я использую калитку 1.5;

новый URL (RequestCycle.get (). GetUrlRenderer (). RenderFullUrl ( Url.parse (urlFor (HomePage.class, нуль) .ToString ()))) getAuthority () ; *. * 1005

Пример: http://example.com:80/a_long_path/

getAuthproty () вернет example.com:80

getHost () вернет example.com.

1 голос
/ 08 октября 2010

В зависимости от того, что именно вы хотите, это может быть невозможно.В вики Wicket есть краткое руководство , но в нем есть некоторые предостережения, в частности, то, что он возвращает относительный URL только в версиях Wicket после 1.3.Тем не менее, используемый метод

String url = urlFor("pageMapName", MyPage.class, new PageParameters("foo=bar"));

Если вы используете альтернативный метод вики - тот, который использует форму - будьте предупреждены: getPage() это не является частью открытого API Wicket .

...