我写了一个PhaseListener,想知道是否可以通过它访问控制器。
发布于 2011-09-20 20:22:01
您可以通过Application#evaluateExpressionGet()以编程方式计算EL表达式。将其封装在一个方便的方法中,如下所示:
@SuppressWarnings("unchecked")
public static <T> T findBean(String beanName) {
FacesContext context = FacesContext.getCurrentInstance();
return (T) context.getApplication().evaluateExpressionGet(context, "#{" + beanName + "}", Object.class);
}在JSF代码中使用它,如下所示:
MyBackingBean myManagedBean = JSF.findBean("myManagedBeanName");
// ...https://stackoverflow.com/questions/7484446
复制相似问题