Чтобы получить текущий Экземпляр bean-объекта в JSF 2.0 - PullRequest
0 голосов
/ 30 сентября 2011

Я сослался на этот вопрос, и у меня похожая проблема JSF - Получить экземпляр SessionScoped Bean

Я хочу получить текущий экземпляр управляемого компонента в другом управляемом компоненте.У меня есть SuperBean, который расширен в базовом классе - baseBean.Я устанавливаю значение списка - itemList в baseBean.Установщик получателя списка находится в SuperBean, и я должен использовать этот SuperBean в своем BackingBean для получения значения itemList.

Я пытался использовать -

     Application app = FacesContext.getCurrentInstance().getApplication();
      ValueBinding vb = app.createValueBinding("#{superbean}");
      SuperClass superclass = (SuperClass) vb.getValue(FacesContext.getCurrentInstance());

Когда я пытаюсь напечататьsuperclass.getItems ();- Это дает только это - []

А также это -

  SuperClass superclass = (SuperClass)FacesContext.getCurrentInstance().
                         getExternalContext().getSessionMap().get("superbean");

Когда я пытаюсь печатать с этим - Выдает исключение, так как моя запись Superbean не присутствует в sessionMap, даже еслизапись помещается в FaceConfig, а также как @ManagedBean и @ sessionscoped

Пожалуйста, помогите мне решить эту проблему.

1 Ответ

2 голосов
/ 30 сентября 2011

Вы можете внедрить управляемый компонент в другой, если внедренный компонент имеет ту же или более широкую область действия. Вот пример:

@ManagedBean(name = "oneBean")
@ViewScoped
public class OneBean{
    // injections
    @ManagedProperty(value = "#{anotherBean}")
    private AnotherBean anotherBean;

    // don't forget to add getter and setter for anotherBean
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...