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?
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.
joca_java
muldon:
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!
muldon
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
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