Olá colegas,
Creio que deve ser um problema bobo, mas estou com esse problema e gostaria da ajuda dos colegas.
Estou trabalhando com JSF 1.2, RichFaces 3.3.3, Facelets 1.4, Beans em escopo de request + <a4j:keepAlive>
cadastro.xhtml
<a4j:keepAlive beanName="cadastroController" ajaxOnly="true"/>
<a4j:form id="frmCadastroCliente" binding="#{cadastroController.form}">
<h:outputLabel value="Informação adicional" />
<h:inputText id="txtInfoAdic" value="#{cadastroController.informacaoAdicional}"
size="40" maxlength="60"/>
<h:outputLabel value="CPF" />
<h:inputText id="txtCPF" value="#{cadastroController.cliente.cpf}"
label="CPF do cliente"
size="13" maxlength="11" required="true"
requiredMessage="CPF obrigatório">
<f:validateLength minimum="11" maximum="11" />
<a4j:support event="onblur" ajaxSingle="true"
actionListener="#{cadastroController.pesquisaCliente}"/>
</h:inputText>
<h:outputLabel value="Nome completo" />
<h:inputText id="txtNome" value="#{cadastroController.cliente.nome}"
size="40" maxlength="60"
required="true" requiredMessage="Nome do cliente obrigatório"/>
... demais campos
</a4j:form>
bean
public class CadastroController implements Serializable {
private Cliente cliente;
...
public void pesquisaCliente(ActionEvent e) {
... procedimentos de busca (Hibernate)
}
}
No exemplo acima, quando digito a informação adicional, o CPF, e saio do campo (onblur), o sistema aciona a action de pesquisa. Quando retorna para tela, o CPF não perde, mas a informação adicional desaparece.
O <a4j:form binding> não faz nada. Eu até retirei mas o problema persiste.
Grato pela ajuda.
repare que ele não é uma propriedade do bean e o no bean vc não está limpando.