Java 获取 ManagedBean 的实例 按其名称



如何获取范围为JSF中请求的托管Bean的实例?

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

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

其中 "myRequiredBean" - bean defenition in faces-config.xml

如果未在@ManagedBean(name = "name")注释name属性中指定特定名称,则该名称默认为类的名称,首字母为小写。如果您使用 JSF <2.0,则相同,但它使用 xml 而不是注释。

你可以从那个托管的Bean中得到你需要的任何内容,然后使用EL,在JSF中是#{beanName.field}。如果使用 EL 2.2+,则可以使用 #{beanName.method('param')} 调用方法。

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

相关内容

  • 没有找到相关文章

最新更新