JSF - Доступ к управляемому бину SessionScoped - PullRequest
3 голосов
/ 06 января 2010

Я новичок в JSF и делаю некоторые базовые вещи, чтобы понять, как с этим работать. В одном из моих проектов у меня есть ManagedBean, SessionScoped, как показано ниже

@ManagedBean(name="user")
@SessionScoped
public class User implements Serializable
// Having a couple of String properties (with setters and getters).

Теперь на одной странице формы у меня есть <h:inputText id="firstName" value="#{user.firstName}" ... />, который я ожидаю получить от пользователя и поместить его в свойство моего бина. Вторая страница просто отображает входные данные, обращаясь к ним из бина. (<h:outputText value="${user.firstName}"/>).

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

Ответы [ 2 ]

8 голосов
/ 24 января 2010

Убедитесь, что вы используете import javax.faces.bean.SessionScoped вместо javax.enterprise ...;

0 голосов
/ 05 февраля 2013

Может быть, кто-то все еще заинтересован в этом: я столкнулся с тем же поведением, как описано выше. Наконец, решение состояло в том, чтобы заменить @ManagedBean через @Named. До сих пор я не понял семантику аннотации @ManagedBean. Поэтому я не могу объяснить, в чем разница.

...