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];

        //

Ответы на вопрос(2)

Ваш ответ на вопрос