Как передать инициализированный бин в области сеанса в другую область сеанса? - PullRequest
0 голосов
/ 15 октября 2011

У меня есть страница входа, на которой я проверяю, существует ли пользователь в моей базе данных, если так, инициализируется компонент user, то я перенаправляю на страницу myprofile.xhtml, но там (в myprofile.xhtml) я бы хотелчтобы поймать пользовательские значения с другим ManageBean.Просто чтобы не связываться с повторяемостью каждого представления и ManageBean.

ОБНОВЛЕНИЕ Следуйте подходу BalusC:

@ManagedBean
@ViewScoped
public class Profile implements Serializable {
    private static final long serialVersionUID = -5621841046523030920L;

    @ManagedProperty("#{login.mUser}")
    private User user;


    // getter and setter
    public User getUser() {
        return user;
    }


    public void setUser(User user) {
        this.user = user;
    }
}

Я хотел бы поймать только инициализированныйобъект mUser (модель).

1 Ответ

1 голос
/ 16 октября 2011

Вы можете вводить бобы друг в друга с помощью @ManagedProperty.

* 1006 Е.Г. *

@ManagedBean
@SessionScoped
public class UserManager userManager;

    private User user;

    // ...
}

и

@ManagedBean
@ViewScoped
public class Profile {

    @ManagedProperty("#{userManager}")
    private UserManager userManager;

    // ...
}
...