Доступ к контроллеру через PhaseListener - PullRequest
1 голос
/ 20 сентября 2011

Я написал PhaseListener и хотел бы знать, возможно ли получить к нему доступ через контроллер.

1 Ответ

1 голос
/ 20 сентября 2011

Вы можете вычислить выражение EL программно по Application#evaluateExpressionGet(). Оберните это в удобный метод, как показано ниже:

@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");
// ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...