vaadin 7 параметр URL
Я не слишком знаком с vaadin 7 и не могу понять это. Я пытался использовать Google, но безрезультатно.
Мой вопрос очень прост. Как я могу получить параметры URL запроса в моем классе пользовательского интерфейса?
У моего URL есть параметр:host/myvaadinapp/?code=erefdvdfgftf...
Параметр url приходит из Facebook после того, как пользователь вошел в систему (OAuth), и мне нужно обработать значение параметра url кода в моем коде.
Я пытался сделать это:
@PreserveOnRefresh
public class AdminUi extends UI
{
@Override
protected void init(VaadinRequest request)
{
...
System.out.println( request.getPathInfo());
System.out.println( request.getRemoteHost());
System.out.println( request.getParameterMap().size());
System.out.println( request.getAttribute("code") );
System.out.println( request.getParameter("code") );
...
}
}
Результат: request.getAttribute ("код"): null request.getParameter ("код"): ноль
Я понял, что getParameterMap () имеет "v-ЛОК» параметр. Но если я использую переменную, мне нужно написать код, чтобы получить параметр url из этой переменной:
v-LOC:host/myvaadinapp/?code=erefdvdfgftf...
тема: северный олень v-rtzo: -600 v-dston: ложь ...
Я думаю, это не слишком хорошее решение.
Не могли бы вы помочь мне, как я могу получить исходные параметры URL в vaadin?
Спасибо.
Мой комментарий:
Я пытался использовать request.getParameter ("код") но это не сработало. Я не знаю почему.
Мой оригинальный URL был:host/demoVaadinApp/?name=zzz
Я использовал этот код:
public class Xxxx extends UI
{
/**
* Main UI
*/
@Override
protected void init(VaadinRequest request)
{
String name = request.getParameter("name");
if (name == null)
{
name = "Unknown";
}
setContent(new Label("Hello " + name));
}
}
Я запускаю приложение vaadin в режиме встраивания пользовательского интерфейса.
Содержимое моего файла web.xml:
Vaadin production mode
productionMode
false
VaadinServlet
com.vaadin.server.VaadinServlet
Vaadin UI class
UI
com.coupoholics.ui.admin.AdminUi
VaadinServlet
/VAADIN/*
index.html
index.html:
You have to enable javascript in your browser to use this application.
//
Мой результат: Привет Неизвестный.
Если я не использую режим встраивания UI, то все работает очень хорошо.
В чем проблема?
Решение (спасибо за Leif Åнить):
var urlParts = window.location.href.split ("?");
var queryString = (urlParts.length == 1)? "": "?" + urlParts [1];
queryString = (urlParts.length == 0)? «» : queryString.split ("#") [0];
а также"
browserDetailsUrl ":"Vaadin» + queryString,
Полный исходный код:
var urlParts = window.location.href.split("?");
var queryString = (urlParts.length == 1) ? "" : "?" + urlParts[1];
queryString = (urlParts.length == 0) ? "" : queryString.split("#")[0];
//