[英]Checking if a session variable exists in Vaadin
VaadinSession.getCurrent().getAttribute("name")
&
VaadinSession.getCurrent().setAttribute("name", "actual nameson")
VS
getSession().getAttribute("name", username);
&
getSession().setAttribute("name", username);
這是使用Vaadin會話管理的正確方法之一嗎? 我在Vaadin中找不到可以理解的文檔來獲取和設置會話。
我當前的問題:如果我嘗試獲取會話變量,則會得到nullpointerException,我嘗試將其吞下並繼續,但這會使Vaadin內爆。
有沒有一種安全的方法來檢查是否設置了Vaadin會話(和特定變量)?
我必須先初始化會話才能使用變量嗎?
更具體地說,我想在將用戶重定向到登錄屏幕之前檢查會話是否存在。 如果用戶未登錄,則檢查將引發nullpointerException,因此未登錄的用戶無法加載loginForm。
問題@ 如何在Vaadin中獲得所有會話都與我的問題無關。
還有一件事
boolean isLoggedIn = getSession().getAttribute("user") != null;
不會使Vaadin崩潰,所以我可能只是在做Java Fail™
任何幫助將非常感激。
您可以根據需要使用VaadinService
直接訪問HTTP會話。
HttpServletRequest request = (HttpServletRequest) VaadinService.getCurrentRequest();
request.getSession().setAttribute("name", "actual nameson");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.