el 컨텍스트 또는 응용 프로그램 컨텍스트를 통해 PhaseListener의 현재 인스턴스를 가져 오는 방법이 있습니까?JSF 2 - 관리 Bean에서 PhaseListener 인스턴스 가져 오기
1
A
답변
3
이 같은 페이지에 <f:phaseListener>
태그를 사용하여 UIViewRoot에 부착 된 상 리스너를 얻을 수 있습니다 :
List<PhaseListener> phaseListeners = FacesContext.getCurrentInstance().getViewRoot().getPhaseListeners();
그것은이 UIViewRoot 인스턴스에 부착 된 PhaseListener 인스턴스의 목록을 반환합니다.
당신은 faces-config.xml 파일에 등록 된 모든 글로벌 위상 청취자를 얻고 싶은 경우에이 같은 라이프 사이클 인스턴스에서 그들을 얻을 수 있습니다
FacesContextFactory contextFactory = (FacesContextFactory)FactoryFinder.getFactory(FactoryFinder.FACES_CONTEXT_FACTORY);
LifecycleFactory lifecycleFactory = (LifecycleFactory)FactoryFinder.getFactory(FactoryFinder.LIFECYCLE_FACTORY);
Iterator<String> lifecycleIds = lifecycleFactory.getLifecycleIds();
while (lifecycleIds.hasNext()) {
String lifecycleId = lifecycleIds.next();
Lifecycle lifecycle = lifecycleFactory.getLifecycle(lifecycleId);
PhaseListener[] phaseListeners= lifecycle.getPhaseListeners();
}
-1
다음 단계를 통해 JSF 2.0에서 현재 PhaseID를 얻을 수 있습니다.
PhaseId currentPhaseId = FacesContext.getCurrentInstance().getCurrentPhaseId();
관련 문제
- 1. JSF - SessionScoped Bean 인스턴스 가져 오기
- 2. Backing Bean에서 관리 빈 인스턴스 대체
- 3. JSF - Bean 인스턴스 가져 오기 차이점
- 4. JSF Bean에서 클라이언트 프록시 삽입하기
- 5. JSF Managed Bean에서 @EJB 호출
- 6. JSF PhaseListener viewId가 항상 1보다 늦음
- 7. 관리 Bean에서 SQL 문을 실행하십시오.
- 8. 인스턴스 이름 가져 오기
- 9. struts2를 사용하여 bean에서 경로 값 가져 오기
- 10. Codeigniter : 인스턴스 가져 오기
- 11. 관리 빈에서 전체 URL 가져 오기 JSF 봄
- 12. JSF2 관리 Bean에서 MVC를 구현하는 모범 사례
- 13. 관리 양식 가져 오기
- 14. JSF 2.0을 사용하여 Backing Bean에서 Tab을 변경하십시오.
- 15. JSF - 단일 bean에서 @ManagedProperty에 다중 값 설정
- 16. JSF 2 컨텐츠 컨트롤러 (URI를 기반로 컨텐츠 가져 오기)
- 17. 클래스 이름에서 인스턴스 가져 오기
- 18. Runnable의 현재 인스턴스 가져 오기
- 19. 문자열로 인스턴스 객체 가져 오기
- 20. 백그라운드 서비스 인스턴스 가져 오기
- 21. URL에서 자산 인스턴스 가져 오기
- 22. HtmlHelper에서 객체 인스턴스 가져 오기
- 23. URI에서 전체 인스턴스 가져 오기
- 24. 실행중인 프로세스의 인스턴스 가져 오기
- 25. Ninject 커널에서 인스턴스 가져 오기
- 26. 클래스를 포함하는 인스턴스 가져 오기
- 27. 클래스별로 TinyMCE 인스턴스 가져 오기
- 28. JSF 2 Scriptmanager 스타일 기능
- 29. CDI : 새 인스턴스 대신 null 가져 오기
- 30. JSF - SessionScoped 관리 빈에 액세스하기
당신은 그 질문에 답하고 있지 않습니다. OP는 현재 등록 된'PhaseListener'를 얻는 방법을 묻는 것이지, 현재의 단계 ID를 얻는 방법이 아닙니다. 이것은 실제로 너무 명백합니다. – BalusC