1
我有一個JSF 2.0應用範圍的託管bean(應用#1)已經被點擊了管理會話範圍的bean,做一些業務邏輯如驗證等繼續按鈕後,另一種普通的HTML表單頁面顯示給用戶,點擊這個頁面上的提交按鈕將提交表單到不同的應用程序(應用程序#2)。在App#2完成工作之後,用戶將從App#3中看到一個頁面。請注意,所有這些都發生在SAME瀏覽器選項卡中。刪除會議在另一個應用程序
在app#3(其也是JSF 2.0應用程序),我想刪除的應用程序#1的會話作用域bean。我怎麼做?我嘗試了下面的選項,但他們都沒有工作。
//First approach
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("app1Bean");
我對上面的代碼行
//second approach
HttpSession session = (HttpSession) FacesContext.getCurrentInstance()
.getExternalContext().getSession(true);
session.removeAttribute("app1Bean");
空越來越空這裏。
究竟是什麼? – Thor 2012-03-05 19:10:46
對不起,如果代碼不清楚,我把一個Sysout在代碼中說if(FacesContext.getCurrentInstance()。getExternalContext()。getSessionMap()。get(「app1Bean」)== null){System.out.println (「app1Bean is null」);}並且此Sysout在控制檯上顯示 – user972391 2012-03-05 19:12:32
這些應用程序是否在服務器上配置爲使用同一個會話?聽起來不像,但也許這對你並不是很明顯,只是要求確定。 – BalusC 2012-03-05 19:15:21