Не получить значение sessin в рамках vaadin - PullRequest
0 голосов
/ 21 мая 2018

Не получено значение sessin в vaadin framework. Используется ниже:

private void setCurrentUsername(String username){
    VaadinService.getCurrentRequest().getWrappedSession().setAttribute("LOGGED_IN_AS_USER",username);
    userSubMenu.setText(username);
}

public static String getCurrentUsername() {
    //log.info("User:::::::::::::::::" + (String) VaadinService.getCurrentRequest().getWrappedSession().getAttribute("LOGGED_IN_AS_USER"));
    return (String) VaadinService.getCurrentRequest().getWrappedSession().getAttribute("LOGGED_IN_AS_USER");
}

получение значения как нулевого, когда поток переходит в другой класс

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

iЕсли вы используете это для пользовательского интерфейса, то есть для входа в систему. Не забывайте, что когда ваше приложение впервые собирается / когда пользователь впервые входит в него, оно, конечно, будет иметь нулевое значение (включая любые подстраницы).

Попробуйте добавить ViewChangeListener на страницу, на которую пользователь теперь входит (извиняюсь за любые ошибки в кодировании, которые в настоящее время я не могу получить доступ к моей машине) в:

@Override
public void enter(ViewChangeListener.ViewChangeEvent event) {
 this.username = VaadinSession.getCurrent().getAttribute("LOGGED_IN_AS_USER");   
}
0 голосов
/ 22 мая 2018

Вы можете попробовать использовать VaadinSession.getCurrent().getSession() вместо?

...