Как я могу получить объект SessionScope в моем Бине - PullRequest
1 голос
/ 26 февраля 2010

Я ищу способ доступа к классу в сеансе.

У меня есть этот класс:

@ManagedBean
@SessionScoped
public class UserManagerBean implements Serializable{...}

и я получу доступ к некоторым полям из другого компонента. Как я могу это сделать?

Спасибо

1 Ответ

2 голосов
/ 26 февраля 2010

Вы можете сделать это, взяв компонент в качестве @ManagedProperty другого компонента, а затем просто получить к нему доступ как к обычному свойству в методах действия.

@ManagedBean
public class OtherBean implements Serializable {

    @ManagedProperty(value="#{userManagerBean}")
    private UserManagerBean userManagerBean;

    // ...
}

Он будет установлен непосредственно после построения , поэтому он не будет доступен в конструкторе. Если вы хотите сделать кое-что из инициализации, которое зависит от его доступности, используйте @PostConstruct:

    @PostConstruct
    public void init() {
        userManagerBean.doStuff();
        // ...
    }
...