| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/12/2006 17:43:19
|
andre_a_s
GUJ Ranger
![[Avatar]](/images/avatar/3328bdf9a4b9504b9398284244fe97c2.jpg)
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 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/12/2006 18:15:53
|
gilliard_santos
JavaGuru
![[Avatar]](/images/avatar/b14680dec683e744ada1f2fe08614086.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/12/2006 18:59:31
|
andre_a_s
GUJ Ranger
![[Avatar]](/images/avatar/3328bdf9a4b9504b9398284244fe97c2.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/03/2008 12:56:56
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/07/2008 08:47:23
|
lidianycs
JavaBaby
![[Avatar]](/images/avatar/0c13d6d3b3743756e05bd42f3afb2d52.jpg)
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...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/07/2008 12:58:04
|
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.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/12/2008 11:13:54
|
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?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/01/2010 16:24:44
|
andresilvaq
Entusiasta Java
![[Avatar]](/images/avatar/9c6b11137575ca10aaf17c457496413b.jpg)
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....
|
|
|
 |
|
|