我使用的是Mojarra 2.1.29,并且有一个会话作用域的JSF托管bean
@ManagedBean
@SessionScoped
public class UserContext{
//staff
}
和一个春豆:
public class UserReproducer{
private User user;
public void reporoduce(){
if(user == null){
//Here I need to recreate the userContext managed bean
//do some other staff
}
}
}
实际上,我需要在JSF中使用某种自定义作用域,即在条件满足时从头开始重新创建userContext
bean。有可能以某种方式做吗?通过重新创建,我的意思是在第一次创建时清除所有属性。
答案 0 :(得分:-1)
使会话无效,以销毁会话范围的bean:
FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
从Spring Security注销的另一个选项是清除上下文:
SecurityContextHolder.clearContext();