以编程方式重新创建会话范围的 JSF 托管 bean
Re-create session scoped JSF managed bean programmatically
我正在使用 Mojarra 2.1.29 并且有一个会话范围的 JSF 托管 bean
@ManagedBean
@SessionScoped
public class UserContext{
//staff
}
和一个spring豆子:
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。有可能以某种方式做吗?通过重新创建,我的意思是清理它的所有属性,因为它是第一次创建的。
使会话无效,销毁会话范围的 bean:
FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
从 Spring 安全注销的另一个选项是清除上下文:
SecurityContextHolder.clearContext();
我正在使用 Mojarra 2.1.29 并且有一个会话范围的 JSF 托管 bean
@ManagedBean
@SessionScoped
public class UserContext{
//staff
}
和一个spring豆子:
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。有可能以某种方式做吗?通过重新创建,我的意思是清理它的所有属性,因为它是第一次创建的。
使会话无效,销毁会话范围的 bean:
FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
从 Spring 安全注销的另一个选项是清除上下文:
SecurityContextHolder.clearContext();