Как получить доступ к JSF2 @ViewScoped bean через ExternalContext? - PullRequest
3 голосов
/ 14 мая 2011

В JSF1 вы можете получить доступ к экземплярам компонентов вашего текущего FacesContext с помощью

ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext()
ev.getApplicationMap().get(beanName) // get an @ApplicationScoped bean instance
ev.getSessionMap().get(beanName) // get a @SessionScoped bean instance
ev.getRequestMap().get(beanName) // get a @RequestScoped bean instance

В JSF2 @ViewScoped был представлен, но я не могу найти соответствующий getViewMap() метод для ExternalContext?Я использую последнюю версию JSF 2.1.1-b04.Я неправильно понимаю некоторые аспекты боба @ViewScoped?Есть ли еще одна хорошая практика для получения экземпляра компонента @ViewScoped на стороне сервера?

Спасибо, Стив

Ответы [ 2 ]

7 голосов
/ 14 мая 2011

Данные области просмотра сохраняются в корне просмотра .Вы можете получить это из контекста .

7 голосов
/ 14 мая 2011

Попробуйте вычислить выражение (valuExpressionGet ):

context.getApplication().evaluateExpressionGet(context, "#{beanName}", BeanClass.class)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...