2011-01-19 6 views
1

Facelets의 각 엘 표현에 대해 동일한 클래스의 새로운 인스턴스를 생성 디버거를 사용하여이 동작을 알았습니다.) 이런 식으로 Login.check() 메서드에서 사용자 이름과 암호를 사용할 수 없습니다. 둘 다 null입니다.JSF 내가 웹 응용 프로그램 프로젝트의 로그인 페이지가

게다가 몇 시간 전에 작성한 다른 복잡한 프로젝트를 테스트 해 보았지만 제대로 작동합니다. 하나의 인스턴스 만 생성됩니다. 내가 틀린 곳을 이해하지 못한다.

답변

3

로그인 빈의 관리 빈 구성 (클래스의 주석 또는 faces-config.xml), 특히 해당 범위를 살펴보십시오. "none"의 범위는 여러분이 관찰하고있는 것과 정확히 일치합니다. 적절한 범위는 아마도 "요청"일 것입니다.

+0

물론 Login 클래스는 @RequestScoped이며 @SessionScoped도 시도했지만 세 인스턴스가 생성되지 않았습니다. – Alf

+0

@Alf : faces-config.xml도 살펴 보았습니까? 어떤 구성이라도 주석을 덮어 쓸 수 있다고 생각합니다. 그게 아니라면, JSF 구현의 소스 코드를 살펴 보려는 경우 생성자를 생성하고 중단 점을 넣으면 문제를 추적하는 데 도움이 될 수 있습니다. –

+0

나는 알아 냈다! 나는 javax.faces.bean.RequestScoped를 사용했다. javax.enterprise.context.RequestScoped를 사용하면 작동합니다! 가져 오기는 netbeans에 의해 자동으로 추가되었습니다. 왜 이렇게 모호한가요? – Alf

관련 문제