如何获取范围为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 版本和容器。