| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/06/2008 08:23:38
|
joca_java
JavaChild
![[Avatar]](/images/avatar/85fa59ac8a893137b2777551335631ed.jpg)
Membro desde: 16/08/2007 14:02:09
Mensagens: 128
Offline
|
E ae pessoal blz?
Gostaria de saber se alguém poderia me ajudar com um problema:
Seguinte:
digamos que eu tenha uma classe pessoa que possui os atributos cpf e nome certo?
Na minha página, estou usando um "logic:iterate" pra percorrer uma lista de pessoas e mostrar em um "html:text"
seus respectivos cpf´s e nomes. O fato de estar em um "html:text", é porque eu poderia alterar o número do cpf e o nome
se for o caso. Antes de entrar na página, seto no request minha lista e percorro com o iterate. Mas após executar a ação pra
"gravar", não consigo pegar no form essa lista alterada. Alguém tem alguma idéia como poderia ser feito isso?
Abaixo o código do meu iterate na página:
Não sei se estou fazendo da maneira correta... quando eu tento pegar a lista, através do form, ela está vindo vazia
Alguém tem alguma idéia???
Obrigado!
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/06/2008 08:32:08
|
muldon
JavaTeenager
![[Avatar]](/images/avatar/5f25fbe144e4a81a1b0080b6c1032778.png)
Membro desde: 16/05/2006 14:06:03
Mensagens: 174
Offline
|
Seguinte: quando vc entra na pagina, voce carrega a lista e seta no request. Digamos que esse metodo na sua action é o "load". Apos o foward vc é cai na pagina e ve a lista carregada. Faz suas alteracoes aciona salvar. Salvar cai num metodo da sua action, digamos "save" que salva e retorna sucesso para a pagina novamente. Nesse momento vc perdeu a lista. No struts 2 existe um metodo que chama prepare(), que é onde vc faz o carregamento das listas, e todo metodo que é acionado, o prepare é invocado antes. No struts 1 nao existe esse metodo mas vc pode cria-lo para que toda invocacao em sua action, carregue suas listas.
Veja, quando voce salvou, e redireicionou novamente pra pagina, o request é outro, entao vc perdeu a lista. Nesse momento vc precisa carrega-la novamente, ou seja, fazer a busca no banco dinovo, ou entao usar sessao. Entenda os momentos, o request é um diferente por submissao.
Espero ter ajudado. Abraco.
|
Sun Certified Java Programmer 5 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/06/2008 08:40:00
|
joca_java
JavaChild
![[Avatar]](/images/avatar/85fa59ac8a893137b2777551335631ed.jpg)
Membro desde: 16/08/2007 14:02:09
Mensagens: 128
Offline
|
muldon wrote:Seguinte: quando vc entra na pagina, voce carrega a lista e seta no request. Digamos que esse metodo na sua action é o "load". Apos o foward vc é cai na pagina e ve a lista carregada. Faz suas alteracoes aciona salvar. Salvar cai num metodo da sua action, digamos "save" que salva e retorna sucesso para a pagina novamente. Nesse momento vc perdeu a lista. No struts 2 existe um metodo que chama prepare(), que é onde vc faz o carregamento das listas, e todo metodo que é acionado, o prepare é invocado antes. No struts 1 nao existe esse metodo mas vc pode cria-lo para que toda invocacao em sua action, carregue suas listas.
Veja, quando voce salvou, e redireicionou novamente pra pagina, o request é outro, entao vc perdeu a lista. Nesse momento vc precisa carrega-la novamente, ou seja, fazer a busca no banco dinovo, ou entao usar sessao. Entenda os momentos, o request é um diferente por submissao.
Espero ter ajudado. Abraco.
oi muldon... obrigado pela ajuda... talvez não tenha me expressado direito:
Eu altero a lista a aciono meu método para "salvar" certo?
Então, no método salvar tem um breakpoint pra eu ver o que tem na lista... só que quando olho, a lista está vazia entende?
Tô usando form dinâmico... e antes de entrar na página instancio umas 4 pessoas pra setar na lista (no request) pra poder realizar os testes.
A lista aparece certinha... mas aí quando altero a lista na página, e dou um dynaActionForm.get("listaPessoa"), a lista está vazia.
Isso observando o breakpoint na minha action...
Valeu!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/06/2008 15:38:03
|
muldon
JavaTeenager
![[Avatar]](/images/avatar/5f25fbe144e4a81a1b0080b6c1032778.png)
Membro desde: 16/05/2006 14:06:03
Mensagens: 174
Offline
|
joca_java veja bem,
se eu entendi bem, vc quer entao modificar a lista na pagina e salva-la é isso ? Bixo, nao tem com fazer isso do jeito que vc quer.
1- Voce carrega a lista e mostra na pagina
2- Voce quer modificar os elementos dessa lista
3- Salvar as modificacoes
Voce precisara fazer um controle elemento a elemento, e o recomendado é usar a displayTag pra isso ( veja documentacao ). Veja como é o controle nos sistemas atuais de listas de elementos nas paginas. O controle é feito um a um, ou seja, vc quer alterar um registro, vc edita ele , e salva aquele registro, e nisso ao salvar a aplicacao submete o formulario que volta com a lista atualizada pois faz uma nova consulta no banco. Entenda, a lista "morreu" no momento que vc carregou ela e disponibilizou na pagina. Ela nao é um bean que vc pode ficar atualizando quando quiser ( pelo menos nao ainda nos frameworks atuais, struts 1 e 2 ).
Entendeu ?
Abraco !
|
Sun Certified Java Programmer 5 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/06/2008 16:07:10
|
joca_java
JavaChild
![[Avatar]](/images/avatar/85fa59ac8a893137b2777551335631ed.jpg)
Membro desde: 16/08/2007 14:02:09
Mensagens: 128
Offline
|
muldon wrote:joca_java veja bem,
se eu entendi bem, vc quer entao modificar a lista na pagina e salva-la é isso ? Bixo, nao tem com fazer isso do jeito que vc quer.
1- Voce carrega a lista e mostra na pagina
2- Voce quer modificar os elementos dessa lista
3- Salvar as modificacoes
Voce precisara fazer um controle elemento a elemento, e o recomendado é usar a displayTag pra isso ( veja documentacao ). Veja como é o controle nos sistemas atuais de listas de elementos nas paginas. O controle é feito um a um, ou seja, vc quer alterar um registro, vc edita ele , e salva aquele registro, e nisso ao salvar a aplicacao submete o formulario que volta com a lista atualizada pois faz uma nova consulta no banco. Entenda, a lista "morreu" no momento que vc carregou ela e disponibilizou na pagina. Ela nao é um bean que vc pode ficar atualizando quando quiser ( pelo menos nao ainda nos frameworks atuais, struts 1 e 2 ).
Entendeu ?
Abraco !
Huum... beleza Muldon... vou dar uma pesquisada pra ver como resolvo este meu problema. Valeu cara!
Abraço!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/08/2008 09:13:06
|
noslei
Smalltalk
![[Avatar]](/images/avatar/245142a8282a24362c6a1762f55dab27.jpg)
Membro desde: 29/07/2008 13:43:07
Mensagens: 1
Offline
|
Cara, você conseguiu resolver, to com o mesmo problema
|
|
|
 |
|
|
|
|