为什么我的会话作用域托管bean不保留属性值?

时间:2014-09-09 19:16:25

标签: jsf jsf-2

我有一个会话范围的托管bean,其中包含以下内容:

private EscalaMensalStruct escalaOrigem;

我在一个方法中手动设置,比如setEscalaOrigem(EscalaMensalStruct ems),但是当我调用方法时

 public void sugerirDobra()
    {
        for (final EscalaMensalStruct escalaDiaria : Cache.getInstance().getListaEscalaDiaria())
        {
            if (escalaDiaria.getLinha().equals(this.escalaOrigem.getLinha()))
            {
                if (escalaDiaria.getFim() <= escalaDiaria.getInicio())
                {
                    this.listaDobra.add(escalaDiaria);
                }
            }
        }
    }

escalaOrigin为null。 bean是viewScoped,我改为sessionScoped思考,这将解决问题,但它继续在第一个if中输入nullPointerException。 我100%确定setEscalaOrigin方法没有收到null,我不知道还有什么。

编辑: 以下代码位于calld sugerirDobra的按钮中,它将escalaOrigem设置为null。这就是在不更改设置者名称的情况下更改属性名称所能得到的结果。

<f:setPropertyActionListener value="#{null}"
    target="#{escalaDiariaTrocaController.escalaParaTrocaOrigem}">
</f:setPropertyActionListener>

0 个答案:

没有答案