나는이 내 프로젝트에서 다음과 같은 문제 : 우리는이 관리하는 다음과 같은 구성 콩이JSF SessionScoped ManagedBean은
:이 코드의 전부는 아닙니다
@ManagedBean
@SessionScoped
public class SessionBean {
private PersonnelFile personnelFile; // + getters/setters
}
@ManagedBean
@ViewScoped
public class ViewBean {
@ManagedProperty("#{sessionBean}")
private SessionBean sessionBean;
public void selectPersonnel() {
sessionBean.getPersonnelFile().setPerson(new Person());
}
}
을하지만, 그것은 당신에게 sitatution의 일반적인 아이디어를 제공합니다 :
-
세션 객체를
- 우열을 보유하고
- SessionScoped 콩 보기 관련 개체와 SessionScoped 빈에 대한 참조를 보유하고 wScoped 콩
문제는 지금 : 내보기에 액세스
- 내가 같은보기로 몇 후 백업을 매번 다시보기로 돌아온다 .. 지금까지 너무 좋아.
- 특정 순간에, 나는 세션의 객체를 SessionScoped 빈에서 뷰의 정보로 설정하고, 나는 내 견해를 떠났다. ... 지금까지 그렇게 좋은
- 이제 내가 돌아 오면 (예상대로) 새 ViewScoped bean 인스턴스를 만들고 (ManagedProperty 주석으로 인해) SessionScoped 빈을 다시 설정합니다.
- 이것을 디버깅 할 때 SessionScoped bean에 대한 참조가 동일하게 유지된다는 것을 알 수 있습니다. 그가,
- 나는 SessionScoped 콩이 개체를 다시 결코 개체에 대한 세션 정보를 '손실'나는 돈 때문에 의미 그러나 같은 객체
- , 내가 이전에
null
를되고있다 SessionScoped 빈에서 설정 한 객체의 그것이 잘못되었을 수있는 곳을 보지 마라.
만일 당신이 더 많은 설명을 원한다면 이 질문을 나에게 더 잘 표현하고 싶거나, 편집 버튼을 사용하거나 알려주 길 바란다.
* * "나는 SessionScoped 콩에서이 객체를 초기화하지"...
그래서, 내 문제가 해결되지만, 솔루션에 이상적입니다 있는지 확실하지 않습니다. 분명히 속성을 변경 한 코드가 있어야합니다. 마법은 없습니다. 지금까지 제공된 정보를 통해 우리는 잠재적 인 원인을 지적 할 수 없습니다. 디버거의'private person person;'줄에 가변 시계 중단 점을 넣어야합니다.그런 다음 스택을 변경하려는 스택을 검사 할 수 있습니다. – BalusC우리가 문제를 발견했을 수도 있습니다. 우리의 web.xml에서 우리는 다음과 같은 설정을 사용했다 : '<상황 PARAM> javax.faces.STATE_SAVING_METHOD 서버 PARAM 값> 상황 PARAM>' –
흠, JSF impl/version 정확히 사용하고 있습니까? – BalusC