【问题标题】:Java to get an instance of ManagedBean By its nameJava 通过其名称获取 ManagedBean 的实例
【发布时间】:2011-05-18 10:14:25
【问题描述】:

如何在 JSF 中获取作用域为 request 的托管 bean 的实例??

【问题讨论】:

标签: jsf


【解决方案1】:

对于 jsf 1.2,我在代码中使用下一个表达式:

    MyBean identifier =  (MyBean) context.getApplication().getELResolver().getValue(context.getELContext(), null, "myRequiredBean");

其中 "myRequiredBean" - faces-config.xml 中的 bean 定义

【讨论】:

    【解决方案2】:

    如果您没有在 @ManagedBean(name = "name") 注释 name 属性中指定特定名称,则名称默认为类的名称,其首字母小写。如果你使用 JSF

    您可以从该托管 bean 中获取所需的任何内容,然后使用 EL,在 JSF 中为 #{beanName.field}。 如果使用 EL 2.2+,您可以使用 #{beanName.method('param')} 调用方法。

    此外,对于未来,您确实应该指定 JSF 版本和运行它的容器。

    【讨论】:

      猜你喜欢
      • 2014-06-15
      • 1970-01-01
      • 2011-01-03
      • 1970-01-01
      • 2017-06-06
      • 2020-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多