有没有方法通过el上下文或应用程序上下文获取PhaseListener的当前实例?JSF 2 - 从托管bean获取PhaseListener的实例
1
A
回答
3
你可以连接到使用<f:phaseListener>
代码的网页上这样的UIViewRoot的阶段监听器:
List<PhaseListener> phaseListeners = FacesContext.getCurrentInstance().getViewRoot().getPhaseListeners();
它返回附加到此UIViewRoot实例的PhaseListener实例的列表。
如果你想获得所有在faces-config.xml文件中注册的全球阶段监听器,你可以从的LifeCycle实例像这样让他们:
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 - 托管bean的两个实例
- 2. JSF - 获取SessionScoped Bean实例
- 3. JSF托管bean
- 4. JSF 2本地化(托管bean)
- 5. 无法刷新JPA 2实体注入到JSF 2托管Bean
- 6. 在JSF中从托管bean获取资源文件的路径
- 7. 如何从jersey.servlet.ServletContainer托管bean获取Spring托管bean?
- 8. JSF中的托管bean
- 9. JSF - 托管bean的变量?
- 10. 在PhaseListener中记录调用的托管bean操作
- 11. JSF从一个托管bean获取值作为参数
- 12. JSF 2:在阶段侦听器对象中访问托管bean的实例?
- 13. JSF托管Bean在Servlet中
- 14. 属性以JSF托管bean
- 15. JSF托管bean问题
- 16. JSF托管bean EJB注入
- 17. bean和jsf验证注释inisde托管bean vs实体bean
- 18. 如何将多个JSF 2托管bean实例添加到Java集合?
- 19. 从javascript运行jsf托管bean方法
- 20. 从托管bean获取nsf资源
- 21. JSF 1.2:从PhaseListener在
- 22. 如何从支持bean中获取托管bean名称?
- 23. 在运行时获取JSF中所有托管Bean的列表
- 24. 如何获取JSF托管bean的包路径?
- 25. JSF在托管bean中获取当前操作
- 26. JSF 1.2托管bean如何获取getter值
- 27. 使用jsp:usebean和jsf托管的bean?
- 28. 无法创建托管bean UserBean - JSF
- 29. STS:使用JSF,托管bean和方面
- 30. Web容器/ EJB容器:JSF托管Bean?
你没有回答这个问题。 OP询问如何获取当前注册的PhaseListener,而不是如何获取当前的阶段ID,这确实太明显了。 – BalusC 2012-09-13 18:42:45