2013-02-21 4 views
0

저는 SessionScoped ManagedBean을 가지고 있습니다. 이 빈의 모든 값을 재설정하려고합니다. 내가 null로 모든 값을 다시 설정하는 방법을했습니다, 이제 JSF 2.1.0-B03언 바운드 sessionScoped ManagedBean 값

@ManagedBean(name = "myBean") 
@SessionScoped 
public class MyBean implements Serializable { 
    private static final long serialVersionUID = 1L; 
    private String name; 
} 

을 사용하고 있습니다. 그러나 나는이 해결책을 좋아하지 않는다.

private void unboundValue() { 
    name= null; 
} 

어떻게 할 수 SessionScoped ManagedBean은에서 I 언 바운드 가치인가?

답변

2

수동 재설정이 적절한 방법입니다. 하나의 빈뿐만 아니라 전체 세션을 + 효화하려면 session.invalidate()을 호출하십시오. 단지 하나의 bean 인 경우 수동 필드 재설정은 ok입니다.

0

나는 당신이 ExternalContext의 sessionmap에서 ManagedBean은을 SessionScoped 제거 할 수 있습니다 생각합니다. 다음 번에 빈에 액세스 할 때 새 값이 기본값으로 작성되거나 새 빈을 작성하여 세션 맵에 삽입하므로 이전의을 대체하십시오. 물론 절차는 약간 오버 헤드가 있지만 리셋을해야하는 많은 값이 있다면 그 해결책이 될 수 있습니다.

그렇지 않으면 이미 명시된대로 reset/unboundValue() 방법이 필요합니다.