Struts voltar para mesma página[RESOLVIDO]

8 respostas
K

Coe galera… seguinte. minha dúvida é…

eu tenho uma lista de nomes na tela, quando alguém clica no nome eu vou para uma tela de formulário onde ele pode alterar o nome…

meu endereço no browser ficar assim:

http://localhost:8080/clientes/EditarNome.do?editar=1

dai eu tenho um botão Salvar, quando o usuário clica em Salvar eu tento alterar se por algum acaso ocorrer algum erro eu gostaria de voltar p mesma página p ele escolher outro nome, mas com o antigo já preenchido

tentei apontar no meu XML pra Action EditarNome.do
mas eu perco o id que ta na queryString… tem alguma forma de fazer uma espécie de loop? voltar o Action anterior? se eu não expliquei bem é só falar :oops:

vlw!!

8 Respostas

danieldestro

Você tá fazendo redirect? Aí não rola!

K

não to usando o Redirect não

danieldestro

Como está a config da action no XML?
Como vc faz pra remeter na Action?

K

ta assim:
na minha JSP onde tah o Grid eu coloco no link

EditarNome.do?id=1

No meu formulário eu faço um post para action /AtualizarNome
Meu XML

....
<action
    path="/NomeLista"
    forward="/WEB-INF/pages/nomeLista.jsp"/>

<action
    path="/NomeForm"
    forward="/WEB-INF/pages/nomeForm.jsp"/>

<action path="/MostraNomes"
    type="view.nomes.ListarNomes"
    scope="request"
    name="nomesForm">
    <forward name="sucesso" path="/NomeLista.do"/>
</action>

<action path="/EditarNome"
    type="view.nomes.Editar"
    scope="request"
    name="nomesForm">
    <forward name="sucesso" path="/NomeForm.do"/>
</action>

<action path="/AtualizarNome"
    type="view.nomes.Atualizar"
    scope="request"
    name="nomesForm">
    <forward name="sucesso" path="/NomeForm.do"/>
</action>

....

[]´s

danieldestro

E o tratamento que vc faz na Action pra remeter pra pagina?

K

na minha action Atualizar, peu pego o valor da querystring com

request.getQueryString("id")

uso ela… consigo achar o usuário com o Id passado , atualizo ele na boa… quando vou sair da miha action só faço um

return (mapping.findForward("sucesso"));

eu devo sair de outra forma?? eu quero voltar p minha págna com os campos limpos se for sucesso ou com os ultimos campos preenchidos se for erro a saida do meu mapping.

se for erro acho q basta eu fazer?? ou se sucesso voltar com o set vazio?
pensei nessa solução

((nomesForm)form).setNome("aki entra o ultmo nome")

[]´s

danieldestro

Você tá chamando o MostraNome.do no forward. Ele sempre vai repassar pra página (action) q mostra os nomes. Pq não mandar direto pro JSP?

E vc deve setar os dados para vazio (lista vazia) pra nao exibir nada em sucesso ou deixar os dados como estao…

K

Vlw daniel… fiz isso coloquei direto p JSP e funcionou msm!
vlw !!

Criado 30 de agosto de 2006
Ultima resposta 1 de set. de 2006
Respostas 8
Participantes 2