Отслеживание пользователей в приложении - PullRequest
1 голос
/ 20 февраля 2012

Мне нужно отследить пользователей, которые вошли в мое приложение, и я пытаюсь сделать это с помощью applicationMap JSF2.Поэтому я создаю список пользователей, и в своем бине входа в систему я добавляю (удаляю) пользователей, выполняя это:

FacesContext.getCurrentInstance().getExternalContext().getApplicationMap().put("usersList", usersList);

В базовом бине страницы usersTracking.xhtml я пытаюсь получить список следующим образом:

AppllicationMap map = (ApplicationMap)FacesContext.getCurrentInstance().getExternalContext().getApplicationMap(); 
List users = (LinkedList)map.get("usersList");

Но «пользователи» всегда равны нулю.Что я делаю неправильно?

1 Ответ

3 голосов
/ 20 февраля 2012

Просто сделайте это управляемым компонентом.

@ManagedBean(eager=true)
@ApplicationScoped
public class Users {

    private List<User> list;

    public Users() {
        list = new LinkedList<User>();
    }

    public List<User> getList() {
        return list;
    }

}

Таким образом, вы можете внедрить и получить к нему доступ в любом произвольном управляемом бине с помощью @ManagedProperty:

@ManagedBean
@ViewScoped
public class ArbitraryBean {

    @ManagedProperty("#{users}")
    private Users users;

    // ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...