Fala galera …
pessoal tô com um problema aqui …
E nao podia estar enrroscado nisso 
Seguinte : tenho o código no XHTML:
<p:autoComplete maxlength="60" size="60" id="cep" minQueryLength="3" value="#{formClienteBean.enderecoSelecionado}" effect="fade"
completeMethod="#{formClienteBean.autoCompleteEndereco}" var="endereco" itemLabel="#{endereco.cep}" itemValue="#{endereco.id}" >
<p:column style="width:30%" >
#{endereco.cep}
</p:column>
<p:column style="width:70%" >
#{endereco.logradouro}
</p:column>
<p:ajax event="itemSelect" listener="#{formClienteBean.carregaEndereco}" />
</p:autoComplete> *
<p:message for="cep" />
no Bean:
public void carregaEndereco(SelectEvent event){
// nao ta entrando aqui :(
System.out.println("FormClienteBean.carregaEndereco()");
Object item = event.getObject();
FacesMessage msg = new FacesMessage("Selected", "Item:" + item);
}
Só que o metodo acima não é chamado .
Também ja tentei usar o
valueChangeListener="#{formClienteBean.carregaEndereco}"
e nada :roll:
O autocomplete tá funcionando certinho. Mas ao selecionar o ítem o Listener não é chamado .
Obrigado a todos que responderem !
Vc tem que apontar o Object item = event.getObject(); para o atributo value do seu autocomplete.
no caso seu endereço.
Opa …
jakefrog você diz fazer um casting ?
assim :
EnderecoBean item = (EnderecoBean) event.getObject();
se for isso beleza. Mas o problema é que o método : carregaEndereco
não está sendo chamado .
coloca um p:ajax com o evento itemselect se não me engano, e manda dar um update no form.
Isso já tava feito.
Só nao tava fazendo um update no form.
Fiz como falou :
<p:ajax event="itemSelect" listener="#{formClienteBean.carregaEndereco}" update="form_cad_cliente" />
e nada ! :roll:
heheh
É dei uma olhada lá …
O problema dele era diferente; ele estava setando um atributo no lugar do outro .
Já o meu problema é que o método que deveria ser chamado no evento : itemSelect não é chamado .
coloquei um breakPoint na linha : System.out.println("FormClienteBean.carregaEndereco()");
E ele nunca é alcançado .
Após algumas tentativas; coloquei meu submit com immediate=“true”
E fui testar para ver o que estava chegando como selected no auto complete.
E pra minha surpresa: NULL
Aí olhei o exemplo do site do prime faces e percebi que a única coisa diferente é que lá havia sido implementado um converter.
Implementei um converter para o meu objeto : Endereço e agora tudo funcinou.
Peisei que o converter era apenas para os casos que eu queria retornar o objeto. Como eu precisava só do id do endereço. Achei que nao precisava dele.
então é isso.
Coloquei um converter e tudo funcionou .
<p:autoComplete maxlength="60" size="60" id="cep" minQueryLength="3" value="#{formClienteBean.enderecoSelecionado}" effect="fade" converter="CepConverter" completeMethod="#{formClienteBean.autoCompleteEndereco}" var="endereco" itemLabel="#{endereco.cep}" itemValue="#endereco.id}" >
jakefrog, obrigado pela atenção !