Ajax4JSF erro no a4j:support  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
andre_a_s
GUJ Ranger
[Avatar]

Membro desde: 23/02/2003 01:04:53
Mensagens: 755
Localização: Santo André(SP)
Offline

Boa tarde senhores
Estou com problemas ao usar a tag support do Ajax4JSF.

Tenho 3 combos na minha tela, onde a escolha da primeira renderiza a segunda e a escoha da segunda renderiza a terceira, tudo isso feito em ajax com a tag support.
Quando a pagina eh carregada, apenas a primeira combo está com os valores, a segunda e a terceira estão vazias.
Quando escolho um item na primeira combo, ele renderiza certinho a segunda, porém quando seleciono um item da segunda, ele não renderiza a terceira.

Estou achando que o problema é do Ajax4JSF na hora de tentar chamar o método que busca a lista da terceira combo. Fiz um teste onde ao carregar a página, a segunda combo já vem preenchida, ao selecionar a segunda, ele carregou corretamente a minha terceira combo.
É como se o Ajax4JSF não conseguisse executar o metodo que definí na tag support quando essa lista eh carregada dinamicamente.

Resumindo....
Quando a lista é carregara ao carregar a página, o refresh de combo funciona perfeito, quando a lista eh carregada dinamicamente, o refresh de combo não funciona.

Combo1:


Combo2:


Combo3:

Gosta de cerveja e de viagem?
Visite meu blog!
http://www.TravelAndBeer.com
[Email] [MSN] [ICQ]
gilliard_santos
JavaGuru
[Avatar]

Membro desde: 02/09/2004 12:35:28
Mensagens: 236
Localização: Campo Grande, MS
Offline

Olha, eu nao uso o ajax4jsf, entao se o que eu disser aqui nao se aplicar, alguem me corrija, por favor. Eu uso o suporte a ajax Facelets 1.2 e vou falar pelo que sei dele, mas acredito que pode ser o mesmo no caso do ajax4jsf.
Supondo que tua pagina está no escopo request, quando voce carrega a página o 1o combo vem preenchido e vc consegue modificar o 2o. Porém, no segundo request (quando vc tenta atualizar o valor do 3o combo) os valores do primeiro request já se foi... entao pode ser que o valor do 1o combo já nao está disponível, e com isso ele nao consegue montar o 2o combo e consequentemente nao monta o 3o combo também. Se for isso, deve estar dando um erro de validação. Na sua página tem um h:messages pra ver se é isso mesmo?
Nao esqueça que por estar fazendo com ajax, a área do h:messages nao será atualizada, entao vc tem que atualizar ela.
Por acaso quando voce faz sem ajax funciona?
Caso o problema seja esse, voce pode usar o componente t:saveState do tomahawk que é uma maravilha pra esses casos.

Espero ter ajudado...

http://gilliard.eti.br
[WWW]
andre_a_s
GUJ Ranger
[Avatar]

Membro desde: 23/02/2003 01:04:53
Mensagens: 755
Localização: Santo André(SP)
Offline

Opa!
Valeu mesmo cara! Deu certo!
Primeiro mudei o escopo dele pra session e vi q funcinou!
Ai voltei ele pra request e coloquei:



E funcinou certinho
Era exatamente oq vc tinha pensado... no segundo request ele perdia a referencia da primeira combo!
Thanx dude!

Gosta de cerveja e de viagem?
Visite meu blog!
http://www.TravelAndBeer.com
[Email] [MSN] [ICQ]
mizael86
Java Ninja

Membro desde: 18/01/2008 10:24:27
Mensagens: 262
Offline

Amigo, aonde vc pos esses savestates? To com o mesmo problema, mais quando eu coloco isso diz q a propriedade nao existe. Passae o exemplo completo se possivel. Vlw
lidianycs
JavaBaby
[Avatar]

Membro desde: 08/11/2006 18:51:17
Mensagens: 81
Localização: Midgart
Offline

Tb gostaria de saber como usar esse saveState.
Preciso resolver esse problema de usar selectOneMenu com essa tag sevaState, mas nao sei como....
Agradeco as respostas...
mizael86
Java Ninja

Membro desde: 18/01/2008 10:24:27
Mensagens: 262
Offline

Ja tentei utilizar o saveState e nao obtive muito sucesso. Porem usando a API do JBoss RichFaces e Ajax4JSF, existe o keepAlive, que em teoria faz a mesma coisa e de fato funciona, ja resolvi esse problema utilizando ele, se for o caso vcs podem procurar algo sobre. O keepAlive ele faz o seu objeto ficar retido na sessão ate que vc faça um novo request em uma pagina diferente, ele extende a vida de um objeto request a um tipo de scopo sessao diferenciado.
danbrasileiro
Debugger

Membro desde: 06/05/2008 11:27:16
Mensagens: 65
Localização: Salvador-BA
Offline

Aonde você mudou o scopo para session? No faces config?
andresilvaq
Entusiasta Java
[Avatar]

Membro desde: 10/02/2009 09:11:49
Mensagens: 17
Offline

danbrasileiro wrote:Aonde você mudou o scopo para session? No faces config?


Um ano e pouco depois...

Só mudar o valor a tag <managed-bean-scope> para session no faces config....
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team