Caros colegas,
Gostaria de saber se alguém já passou pelo mesmo problema e conseguiu fazer funcionar? Trata-se de uma combinação simples de 2 selects. Busquei incansavelmente algum exemplo, entretanto não consegui encontrar (com jsf 2). No forum existem bastante tópicos mas não consegui encontrar nenhum que funcionasse.
O atributo ‘valueChangeListener’ do componente h:selectOneMenu, não chega nem a chamar o método ufChangeListener(ValueChangeEvent e) no bean. Deve haver algum problema no javascript do framework.
Nenhuma Exception é lançada, o listener não é nem chamado, simplesmente ‘ValueChangeListener’ não dispara um evento quando a mudança de valor acontece.
Tenho logs em todo o código, que mostram que o metodo não foi chamado.
Olha, existem componentes que podem te ajudar com esse problema, o que te facilitaria em 1000% o trabalho e te salvaria muita “manualidade”. O primefaces no momento é a ferramenta mais estável para se trabalhar com JSF2, e ele tem um componente que te facilita com aninhamento de combos.
o link que te passei acima te leva para este componente, que é o ajax event, que te ajudará com esses problemas.
voltando ao seu problema sem primefaces, tente fazer o seguinte, chame um onSelect que invoque esta ação, assim você conseguirá fazer a alteração. Não jogue no valueChangeListener, faça onchange ou onclick, se ainda assim o erro persistir, ele vai jogar uma exceção pra ti.
Apenas acrescentando a tag ‘<p:ajax />’ não funcionou, mas peguei este mesmo exemplo do site do Primefaces e funcionou, agora vou adapta-lo a meu projeto. Acho que por que, o exemplo do site está usando Strings diretamente ao invés de objetos.
Acho que vai ser por aí mesmo.
Só achei estranho o ‘valueChangeListener’ não disparar o evento. Se por acaso tiver um exemplo de selects aninhados com ‘valueChangeListener’ em JSF2/Facelets, ou se alguém tiver por favor envie.
Muito obrigado pelo apoio amigo,
Um grande abraço,
O valor de idEstado é sempre o valor que estava selecionado antes (velho) e não o novo valor. O mesmo ocorre com o valorde cidadeBean.estado.codigo, que não é atualizado com o valor atual.
Simplesmente não sei como fazer isso usando somente os componentes do Primefaces. Estou quase voltando ao Richfaces.