Eu preciso fazer com que ao clicar em um botão de uma linha da tabela, seja aberta uma outra pagina com informações detalhadas referentes a essa linha da tabela.
Eu fiz então uma chamada GET para a minha Servlet usando JQuery dentro da JSP, passando o ID na url, então na minha Servlet eu dei um forward
enviando para a minha outra JSP com meu objeto contendo todas as informações detalhadas para serem exibidas.
A requisição ocorre com sucesso, o meu problema está no fato de que após o GET ser executado, o for forward
não envia para minha outra JSP, ele mantem na minha mesma pagina.
Olhando o Network do chrome, eu percebi que no response da minha requisição a pagina é retornada da maneira correta, então o forward
está fazendo o que deveria fazer, porém a minha pagina não atualiza provavelmente porque fica esperando um ação no retorno da minha chamada GET com JQuery.
Porém eu não sei como tratar esse retorno para ele ir para a pagina correta, porque se eu alterar o window.location
por exemplo, ele vai redirecionar só que vai perder o objeto que minha servlet retorna ...
Chamda GET:
<script>
$(document).ready(function(){
$("button").click(function(){
$.get("descricao-paciente?id="+this.id).done(function(data){
????
});
});
});
</script>
Servlet:
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setAttribute("paciente", pacienteService.consultaPorId(Long.parseLong(req.getParameter("id"))));
RequestDispatcher rd = req.getRequestDispatcher("/descricao_paciente.jsp");
rd.forward(req, resp);
}
Talvez nem seja o jeito certo de fazer isso, se alguém puder me falar como seria a melhor forma de fazer, ou que eu tenho que modificar eu ficaria grato.