Java 通过相位侦听器访问控制器

Java 通过相位侦听器访问控制器,java,jsf-2,Java,Jsf 2,我写了一个PhaseListener,想知道是否可以通过它访问控制器。您可以通过编程方式计算EL表达式。用一种方便的方法将其包装,如下所示: @SuppressWarnings("unchecked") public static <T> T findBean(String beanName) { FacesContext context = FacesContext.getCurrentInstance(); return (T) context.getApplic

我写了一个PhaseListener,想知道是否可以通过它访问控制器。

您可以通过编程方式计算EL表达式。用一种方便的方法将其包装,如下所示:

@SuppressWarnings("unchecked")
public static <T> T findBean(String beanName) {
    FacesContext context = FacesContext.getCurrentInstance();
    return (T) context.getApplication().evaluateExpressionGet(context, "#{" + beanName + "}", Object.class);
}

可以通过编程方式计算EL表达式。用一种方便的方法将其包装,如下所示:

@SuppressWarnings("unchecked")
public static <T> T findBean(String beanName) {
    FacesContext context = FacesContext.getCurrentInstance();
    return (T) context.getApplication().evaluateExpressionGet(context, "#{" + beanName + "}", Object.class);
}

但是为什么要这样做?您想要一个到
FacesServlet
的句柄?但是为什么要这样做?您想要一个到
FacesServlet
的句柄?