JSF 2.2@ViewScope绑定错误?

JSF 2.2@ViewScope绑定错误?,jsf,binding,view-scope,jsf-2.2,Jsf,Binding,View Scope,Jsf 2.2,我已经读过关于@ViewScoped()的绑定错误,并且它在最新版本的JSF中得到了修复,所以我用3个最新版本的JSF测试了这个问题,并尝试使用 <context-param> <param-name>javax.faces.PARTIAL_STATE_SAVING</param-name> <param-value>false</param-value> 编辑:调试一段时间后,我发现过滤器的值被设置在变量上,紧接着调用setCl

我已经读过关于@ViewScoped()的绑定错误,并且它在最新版本的JSF中得到了修复,所以我用3个最新版本的JSF测试了这个问题,并尝试使用

  <context-param>
<param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
<param-value>false</param-value>

编辑:调试一段时间后,我发现过滤器的值被设置在变量上,紧接着调用setCliente()并将其设置为null,但我不知道为什么。

了解了
选择=“#{cadastroClienteBean.cliente}”的过程数据表上的属性将客户端设置为null,因为没有选择任何行。

了解了
选择=“#{cadastroClienteBean.cliente}”由于未选择任何行,数据表上的属性将客户端设置为null。

是否标记了
客户端
属性
瞬态
?不,我没有
@ManagedBean@ViewScoped公共类CadastroClienteBean实现可序列化{/***/private static final long serialVersionUID=1L;private List clientes;private Cliente Cliente;private String valor;
您是否标记了
客户端
属性
transient
?您不应该这样做。不,我没有
@ManagedBean@ViewScoped公共类CadastroClienteBean实现可序列化{/***/private static final long serialVersionUID=1L;private List clientes;private Cliente Cliente;private String valor;
好的,这只是您自己的代码/测试方法中的一个bug;)顺便说一句,在JSF 2.2中,您不需要禁用部分状态保存来修复正在更新的视图范围bean的bug每次都构造。此设置仅在您仍然使用JSF 2.0/2.1时用作“临时解决方案”。是的,我使用另一个客户端属性“selectedCliente”修复了它。并删除了部分状态保存修复。谢谢。好吧,这只是您自己的代码/测试方法中的一个错误;)顺便说一句,对于JSF 2.2,您不需要禁用部分状态保存来修复每次重构视图范围bean的错误。此设置仅用于“临时解决方法”当您仍然使用JSF 2.0/2.1时。是的,我使用另一个客户端属性“selectedCliente”修复了它。并删除了部分状态保存修复。谢谢。
        <p:column id="cpfHeader" sortBy="#{cliente.nrCpf}"
        filterMatchMode="contains">
        <f:facet name="header">
            <h:panelGrid columns="1">
                <h:outputText value="CPF" />
                <p:inputText value="#{cadastroClienteBean.cliente.nrCpf}">

                </p:inputText>
                <p:commandButton
                    actionListener="#{cadastroClienteBean.getClientesBusca}"
                    update="#{form}:tabelaCliente:tblCliente" value="Filtrar"></p:commandButton>
            </h:panelGrid>
        </f:facet>
                #{cliente.nrCpf}                
            </p:column>
    public CadastroClienteBean(){
    cliente = new Cliente();
    init();
}