我必须删除会话的方法获取FacesContext的sessionMap托管bean从其他方面
public void invalidMyBean()
{
final Map<String, Object> sessionMap = FaceContext.getCurrentInstance().getExternalContext().getSessionMap();
sessionMap.remove("mySessionBean");
}
invalidMyBean()也从一个Web服务调用。 在这种情况下,FaceContext.getCurrentInstance()为null,我无法删除我的bean。 我试图将sessionMap作为一个字段存储在我的类中,但从这个对象中删除不起作用。 有没有办法从faceContext检索外部的sessionMap?
THX
thx为您的快速回答。 – user1826704
Web服务的http会话不同(Web服务客户端是jsf页面中的一个小程序)。我们使用sessionID来知道哪个applet与Facecontext匹配,所以我们有一个sessionID(String)和两个httpSessions。方法invalidMyBean()位于applet和jsf会话之间的共享对象中。也许有可能从sessionID中检索httpSession对象? – user1826704
将“jsessionid”路径参数添加到URL以让小程序保持相同的HTTP会话。有关的答案,另见http://stackoverflow.com/questions/13194034/accessing-jsf-session-scoped-bean-from-servlet-which-is-called-by-applet-embedde/13194214#13194214 – BalusC