【问题标题】:How can I get all the initialized managed beans in the session?如何在会话中获取所有已初始化的托管 bean?
【发布时间】:2012-05-16 09:14:57
【问题描述】:

如何在会话中获取所有已初始化的托管 bean? 以下代码每次都会使 JVM 崩溃。

FacesContext facesContext=FacesContext.getCurrentInstance();
com.sun.faces.application.ApplicationAssociate application = 
ApplicationAssociate.getInstance(facesContext.getExternalContext());

【问题讨论】:

  • 你不能使用 jconsole 吗?这就是我在搜索运行 bean 时使用的
  • 我实际上需要通过代码来获取它们。
  • 您想在另一个会话范围 bean 中获取一个会话范围 bean 吗?使用托管属性...
  • 不@Daniel 我不需要注入他们而不是谈论managedproperty 我需要用一个bean 知道同一会话中的所有bean。基本上这些 bean 中有一个方法,所以会话中的那些 bean 我需要访问它们并调用该方法并放手。
  • ow,没有正确阅读标题...另一种方法是将会话 bean 插入将由应用程序范围 bean 维护的列表中,然后遍历它们...但是随后你需要维护它...

标签: java jsf-2 myfaces


【解决方案1】:

你不能用类似的东西

 FacesContext context = FacesContext.getCurrentInstance();
 HttpSession session = (HttpSession) context.getExternalContext().getSession(true);
 Enumeration mySessionBeans = session.getAttributeNames();

【讨论】:

  • 听起来更像。会尝试:)
猜你喜欢
  • 2014-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-12
  • 2013-01-06
  • 1970-01-01
相关资源
最近更新 更多