@ManagedProperty("#{sessionBean}")
没有被正确注入。 sessionBean
在一个 JAR 文件中声明,并且它具有与 JSF 2.0 兼容的 faces-config。
但是,当我使用
FacesContext context = FacesContext.getCurrentInstance();
sessionBean = (SessionBean) context.getApplication().evaluateExpressionGet(context, "#{sessionBean}", SessionBean.class);
它正确地评估了会话Bean。这是为什么呢?
编辑:我想注入的Bean(sessionBean)在一个JAR文件中,该文件被注释为@ManagedBean和@SessionScoped。此外,该JAR包含一个JSF2兼容的faces-config,在META-INF/resources中。
setSessionBean(SessionBean sb)
方法吗?如果没有 - 那就是一个解决方案。如果有 - 请提供更广泛的上下文。无论如何,你必须以开发者友好的方式描述“未注入”。 - skuntsel