JSF - 访问SessionScoped托管bean

3 session jsf session-variables

我是JSF的新手,我正在做一些基本的事情来了解一个人应该如何使用它.在我的其中一个项目中,我有一个ManagedBean,SessionScoped如下所示

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

现在,在一个表单的一个页面中,我有一个<h:inputText id="firstName" value="#{user.firstName}" ... />我希望从用户那里得到一个值并将它放在我的bean的属性中.第二页只显示输入数据,从bean访问它.(<h:outputText value="${user.firstName}"/>).

问题是,如果在那之后我进入第三页(只是输入URL)并且我试图使用相同的行再次显示来自bean的数据,则不会显示任何数据.我期待虽然bean是会话作用域,但它仍然可以在当前会话中使用.

小智 8

确保使用import javax.faces.bean.SessionScoped,而不是javax.enterprise ...;