Инициализация Session bean из запроса scop bean - PullRequest
1 голос
/ 29 апреля 2011

Привет всем
Я использую JSF 2.0, у меня есть два bean-компонента UserBean (объем запроса) и UserInfoBean (объем сеанса). Я хочу знать, как можно инициализировать UserInfoBean из одного метода UserBean (Request Scope), чтобы я мог получить к нему доступ из любого места.

Я также хочу знать, какая производительность лучше: 1. Поместить bean-компонент в качестве сессионного bean-компонента 2. Поместить разные переменные в сеанс индивидуально.
Большое спасибо

1 Ответ

4 голосов
/ 29 апреля 2011

Внедрить сессионный EJB-компонент в виде @ManagedProperty EJB-объекта. Таким образом, он доступен для всех методов действия в bean-объекте, определяемом запросом.

* 1006 Е.Г. *

@ManagedBean
@SessionScoped
public class UserManager {

    private User user;

    // ...
}

и

@ManagedBean
@RequestScoped
public class Login {

    private String username;
    private String password;

    @EJB
    private UserService userService;

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

    public String submit() {
        User user = userService.find(username, password);

        if (user != null) {
            userManager.setUser(user);
            return "home";
        } else {
            addMessage("Unknown login, try again");
            return null;
        }
    }

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