如何使用在faces-config中声明的JSF加载Java类?

时间:2013-11-07 06:50:27

标签: jsf

我在faces-config.xml中声明了一个java类。这是代码:

<managed-bean>
    <managed-bean-name>javaBean</managed-bean-name>
    <managed-bean-class>testpackage.ConcretJavaBean</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
<managed-bean>

如何在另一个未在faces-confix.xml中声明的java类中使用此类?如何通过使用JSF中的FacesContext来获得这个类,就像这个小例子一样:

ConcretJavaBean bean = FacesContext. // what shall i do here?

1 个答案:

答案 0 :(得分:0)

FacesContext context = FacesContext.getCurrentInstance();
ConcretJavaBean javaBean = context.getApplication().evaluateExpressionGet(
                      context,
                      "#{javaBean}",
                      ConcretJavaBean.class);

但是,请记住,只有在FacesContext实例确实存在时才会有效。如果你在处理请求的同一个线程中调用它,你应该没问题。