Atualizando pagina pai. Melhor prática para se fazer
6 respostas
ruyoutor
Boa tarde galera.
Estou com uma dúvida que é o seguinte:
Tenho um formulário e dentro deste tenho uma compo com uma lista de partidos politicos.Do lado dessa compo tenho um botão para cadastrar um novo partido. Ao clicar nesse botão abro uma janela popup para o usuário poder cadastrar um novo partido. Ai vai a dúvida.
Como seria melhor fazer a atualização do formulário pai tendo em mente os seguintes problemas.
A tal combo com a lista de partidos é o terceiro campo do formulário, ou seja quando ele clicar para cadastrar um novo partido ele já vai ter escrito os dois primeiros campos. Como que eu fsso para, após ele submiter o formulário dá janela popup eu atualizar a página pai com a lista de partidos atualizada contendo o novo registro e manter os dados já digitados por ele já que atualizando a página eu zeraria os inputs. Eu já vi coisa parecida com isso na web só não sei como fazer.
Se alguem já tiver feito isso de uma forma agradável e puder me dar uma luz eu agradeço.
A resposta mais simples seria algum tipo de chamada AJAX. Vc chamaria o popup com um método de inseriri q repopula seu combo sem submit. (Veja o DWR é bem fácil).
Outra forma é vc armazenar os valores na requisição por exemplo:
Com isso ele permanece preenchido…contanto q no submit para repopular o combo vc armazene esses valores num bean e logo em seguida ponha ele no reponse pro cara.
ruyoutor
Fala Giulliano blz cara…
Eu já até utilizo o DWR, só que não estou querendo usar ajax nessa aplicação(a menos por enquanto). Mais se fosse o caso eu nem usuario popup um DIV já resolveria o meu problema. E quanto a outra forma não consegui entender muito bem como eu faria o que você sugeriu. Teria como detalhar melhor eu sou meu lento rsrsr…
Obrigado.
Giulliano
quando vc usa servlet e jsp vc pode colocar alguns valores na requisição usando o RequestDispatcher.
então ficaria assim a lógica…na sua servlet assim q chegar um submit vc começa
Cliente c = new Cliente();
c.setNome(request.getParameter(“nome”));
e por aí vai…
request.setAttribute(“cliente”,c);
e na JSP nos seus inputs é só por no value de cada um o ${cliente.nome}, ${cliente.idade} e por aí vai…
ruyoutor
Fala giulliano.
Cara acho que eu não me fiz entender.
Tipo isso eu fasso o tempo todo. Mandar parâmtros popular beans enviar o bean para a pagina com RequestDispatcher.Tranquilo.
Agora o que não entendo é o seguinte.
Eu abro o popup para cadastrar um novo partido. Nisso já tem dados digitados nos inputs da página pai.
Ele vai digitas os dados do partido eleitoral e depois vai dar um submit no formulário do popup.
Ai vai a pergunta!
Como que eu fasso para: Ná hora que ele der um submit no formulário do popup eu enviar também os dados que estão no formulario da página pai.
E como que eu fasso para dar um forward e ele atualizar exatamente a página pai ao invez de abrir outra. Quem faz isso muito bem é o mercado livre.
Obrigado pela atenção cara.
Giulliano
putz cara…desculpa…eu não prestei atenção nesse ponto…é impossivel alterar um response já dado…ou seja…eu sugiro q vc coloque um botão do lado do combo escrito atualizar…ou fica ruim pra vc ???
ruyoutor
Tranquilo cara.
Po ruim não fica, se for a única solução viável a curto prazo eu posso até fazer. Mas acho que existe uma forma de eu fazer o que eu quero. Eu já vi isso em páginas web.
O que eu poderia fazer e me daria um trabalhio, mas acho que dá é:
submeter o formulário do popup esperar ele voltar com os dados(só que agora incluidos no banco devidamente) e apos isso eu atualizo a combo da pagina pai via javascript mesmo e depois fecho o popup. Isso eu sei que dá porque tenho como ver os inputs da pagina pai através do window.opener.
Acho que vou fazer assim.
Se tiver alguma ideia melhor por favor não deixa de postar. Se não obrigado pela atenção.