我丢失了sessionScope的数据

时间:2016-09-08 16:26:25

标签: jsf

我遇到了 JSF 2.2 的问题,我有这个结构:

问题:我无法设置变量(通过sessionScope - MainBean),因为catalog.xhtml(通过requestScope / ViewScope - CatalogBean)。

LoginBean:SessionScope

@ManagedBean(name="loginBean")
@SessionScoped
public class LoginBean {

    private Session userLog;

MainBean:SessionScope

@ManagedBean
@SessionScoped
public class MainBean {


    @ManagedProperty(value="#{loginBean}")
    private LoginBean userLogin;

CatalogBean:ViewScope / RequestScope

@ManagedBean
@ViewScoped
public class CatalogBean {

    @ManagedProperty(value="#{mainBean}")
    private MainBean userManagerCatalog;

ItemBean:ViewScope / RequestScope

@ManagedBean
@ViewScoped
public class ItemBean { 

    @ManagedProperty(value="#{mainBean}")
    private MainBean userManagerItem;

问题是当我输入 item.xhtml(ItemBean) 时,(因为catalog.xhtml)我在MainBean(SessionScope)中保存一个变量,其中:

<p:commandLink action="item.xhtml?faces-redirect=true" actionListener="#{mainBean.setSelectedItem(it)}">
   <p:graphicImage library="resources" name="images/folderNormal.png" style="width: 100; height: 100"/> 
   <f:setPropertyActionListener value="#{it}" target="#{mainBean.selectedItem}" />
</p:commandLink>

感兴趣的数据

*我曾经使用过两种不同的形式(actionListener和setPropertyActionListener)

**我必须输入目录才能输入项目

***我在窃听,这使得改变但是接下来,我看到程序丢失了这个数据

****我在Catalog中使用了属性SessionScope(功能很好),但是我无法更改目录,因为变量没有改变它的值。

欢迎任何帮助,提前谢谢

0 个答案:

没有答案