Как получить заголовок реферера http на Gwt Entrypoint - PullRequest
4 голосов
/ 19 января 2011

Я не смог найти класс / метод, который дает мне доступ к заголовку реферера в GWT.кто-нибудь знает об этом?

Ответы [ 5 ]

7 голосов
/ 20 января 2011

См.

Document.get().getReferrer()
2 голосов
/ 19 января 2011

Поскольку вы не можете получить заголовки в javascript, я не думаю, что вы можете получить их в клиенте GWT: Доступ к заголовкам HTTP веб-страницы в JavaScript

Обновление:

Может быть, вы можете обновить login.php, чтобы записать ссылку на скрытый тег ввода, может быть что-то вроде этого:

<input type="hidden" name="referrer" name="referrer" value="<?php Print referrer_value ?>">

Затем в gwt вы сможете получитьзначение, используя что-то вроде этого:

InputElement elt = (InputElement)Document.get().getElementById("referrer")
String referrer = elt.getValue()

Примечание: это непроверенный код, и я даже не уверен, что это правильный php, но надеюсь, что это поможет!

0 голосов
/ 25 июля 2013

Вы можете получить полную строку URL следующим образом:

String url = Document.get (). GetURL ();

получить индекс вопросительного знака и разобрать его самостоятельно

0 голосов
/ 17 июля 2012

Вы можете получить доступ к рефереру в JavaScript и передать его в Java (скорее в JavaScript, скомпилированный из Java). Вам необходимо определить метод JSNI (собственный метод JavaScript) в Java с помощью определения JavaScript. Этот код может обращаться к объектам документа и окна браузера, хотя для этой цели вам необходимо соответственно использовать переменные $ doc и $ wnd. Больше информации на

https://developers.google.com/web-toolkit/doc/latest/DevGuideCodingBasicsJSNI

0 голосов
/ 29 февраля 2012

У меня был тот же вопрос, но я внес некоторые изменения, чтобы динамически заряжать тег заголовка ссылки Я использовал этот код:

LinkElement link = Document.get().createLinkElement();
link.setHref("css/home.css");

Не знаю, самое ли изящное решение, но оно работает!

EDIT: Если вам нужно изменить какой-либо текущий элемент, вы должны сделать это:

NodeList<Element> links = Document.get().getElementsByTagName("link");
for(int i = 0; i < links.getLength(); i++){
    LinkElement l = (LinkElement)links.getItem(i);
    if( l.toString().contains("href_to_replace.css") ){
        l.setHref("new_href.css");
        break;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...