[RESOLVIDO] <a4j:support reRender=""> Não estão funcionando.  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
EuclidesFilizola
JavaEvangelist
[Avatar]

Membro desde: 21/09/2006 12:38:54
Mensagens: 493
Offline

Bom dia pessoal,

andei lendo varios post e na maioria dizia que se vc quer ter um render dinamico, vc precisa renderizar o componente pai daquele componente a ser renderizando. Pensando nessa linha de raciocinio, eu estou tentando renderizar um panelgroup e n consegui. Tentei também com um a4j:outPanel e também não consegui. abaixo o código.



Eu estou tentando renderizar o componente "painel_orgao_externo", através de um selectbox. Alguém saberia porque não está funcionando ?

This message was edited 1 time. Last update was at 17/09/2010 15:21:07


"Inteligencia é a faculdade de fazer objetos artificiais... especialmente ferramentas para fazer ferramentas"
[MSN]
raf4ever
GUJ Master

Membro desde: 30/01/2005 01:34:51
Mensagens: 1755
Localização: Fortaleza-Ce
Offline

esse rendered="#{movimentacaoMBean.externo}" tá true?

Rafael Roque
Quis custodiet ipsos custodes?
IBM Certified SOA Associate
ITIL Foundations Certified
SCEA(I)
SCWCD
SCJP
[Email] [MSN]
EuclidesFilizola
JavaEvangelist
[Avatar]

Membro desde: 21/09/2006 12:38:54
Mensagens: 493
Offline

ele inicia false.

ele seria alterado conforme o evento "onclick" fosse chamado.

This message was edited 1 time. Last update was at 16/09/2010 10:16:35


"Inteligencia é a faculdade de fazer objetos artificiais... especialmente ferramentas para fazer ferramentas"
[MSN]
raf4ever
GUJ Master

Membro desde: 30/01/2005 01:34:51
Mensagens: 1755
Localização: Fortaleza-Ce
Offline

entendi...

então vc precisa de algo assim:



e no MB:

Rafael Roque
Quis custodiet ipsos custodes?
IBM Certified SOA Associate
ITIL Foundations Certified
SCEA(I)
SCWCD
SCJP
[Email] [MSN]
EuclidesFilizola
JavaEvangelist
[Avatar]

Membro desde: 21/09/2006 12:38:54
Mensagens: 493
Offline

Não funfou não mano. =/

"Inteligencia é a faculdade de fazer objetos artificiais... especialmente ferramentas para fazer ferramentas"
[MSN]
gomesrod
GUJ Ranger
[Avatar]

Membro desde: 11/05/2007 19:46:22
Mensagens: 901
Offline

Você só pode fazer reRender em um componente que inicialmente está renderizado.
Ele precisa existir no HTML original (mesmo que seja um Panel vazio) para que as chamadas Ajax modifiquem o conteúdo.

A solução é criar um panel group PAI do painel_orgao_externo, sem o atributo rendered.

Aí o componente Ajax faz reRender no id_do_painel_pai

Não sei se fui bem claro, qualquer coisa é só perguntar
EuclidesFilizola
JavaEvangelist
[Avatar]

Membro desde: 21/09/2006 12:38:54
Mensagens: 493
Offline

fiz dessa forma e também não funcionou:


"Inteligencia é a faculdade de fazer objetos artificiais... especialmente ferramentas para fazer ferramentas"
[MSN]
L.Bach
JavaChild
[Avatar]

Membro desde: 18/12/2008 10:34:48
Mensagens: 100
Localização: Florianópolis/SC
Offline

O panelGroup tem algum bug ou alguma definição do Faces, que desconheço, no "rendered" dele, quanto à a4j.
Até funciona, na primeira renderização. Mas quando manda renderizar novamente, via a4j, ele não responde.

Sugiro o seguinte:


Coloca as condições do rendered no outputLabel e no selectOneMenu e continua com com o reRender do a4j:support apontando para o "painel_orgao_externo".

Abraço

Edit: também precisa acrescentar um método no actionListener do a4j:support, que vai setar "externo" para true ou false, de acordo à necessidade.

This message was edited 1 time. Last update was at 16/09/2010 14:13:19

raf4ever
GUJ Master

Membro desde: 30/01/2005 01:34:51
Mensagens: 1755
Localização: Fortaleza-Ce
Offline

vc precisa de um actionListener no a4j:support
senão,como vc vai setar a variável 'externo' para true?

Rafael Roque
Quis custodiet ipsos custodes?
IBM Certified SOA Associate
ITIL Foundations Certified
SCEA(I)
SCWCD
SCJP
[Email] [MSN]
EuclidesFilizola
JavaEvangelist
[Avatar]

Membro desde: 21/09/2006 12:38:54
Mensagens: 493
Offline

fiz dessa forma e tbm não funcionou:



Onde o método setaTrue



This message was edited 1 time. Last update was at 16/09/2010 14:22:55


"Inteligencia é a faculdade de fazer objetos artificiais... especialmente ferramentas para fazer ferramentas"
[MSN]
L.Bach
JavaChild
[Avatar]

Membro desde: 18/12/2008 10:34:48
Mensagens: 100
Localização: Florianópolis/SC
Offline

Tem getter e setter para este externo?

Além disso, coloca ele em um t:saveState, assim:


Vamos ver se funciona
EuclidesFilizola
JavaEvangelist
[Avatar]

Membro desde: 21/09/2006 12:38:54
Mensagens: 493
Offline

tem sim.



Vou testar utilizando o saveState do tomahawk.

"Inteligencia é a faculdade de fazer objetos artificiais... especialmente ferramentas para fazer ferramentas"
[MSN]
EuclidesFilizola
JavaEvangelist
[Avatar]

Membro desde: 21/09/2006 12:38:54
Mensagens: 493
Offline

coloquei o saveState...

e nada.. novamente.

"Inteligencia é a faculdade de fazer objetos artificiais... especialmente ferramentas para fazer ferramentas"
[MSN]
raf4ever
GUJ Master

Membro desde: 30/01/2005 01:34:51
Mensagens: 1755
Localização: Fortaleza-Ce
Offline

acho que resolvi aqui.
coloca reRender="painel_orgao_pai"

Rafael Roque
Quis custodiet ipsos custodes?
IBM Certified SOA Associate
ITIL Foundations Certified
SCEA(I)
SCWCD
SCJP
[Email] [MSN]
gomesrod
GUJ Ranger
[Avatar]

Membro desde: 11/05/2007 19:46:22
Mensagens: 901
Offline

O que eu estava dizendo era isso:

This message was edited 1 time. Last update was at 16/09/2010 14:40:34

 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team