Olá, sou inciante em java web e estou com uma dificuldade de não estou conseguindo resolver. Agradeço se alguém puder ajudar.
O primeiro problema é que aparentemente parece que os objetos/dados não estão compartilhando a mesma sessão/thread (acho que é isso) do servlet.
Por exemplo, toda vez eu coloco o seguinte codigo: ${sessionScope.questionario}
e deveria printar varios objetos pertencentes aquela mesma sessão.
Deveria aparecer como esse exemplo cada vez que eu abro uma aba no navegador e envio o formulario: {respostas=[Resposta{questao1=2, questao2=2}, Resposta{questao1=1, questao2=1}]}
Mas no meu projeto aparece apenas uma vez mesmo seguindo os mesmos passos (enviar o formulario): com.mycompany.questionario.Questionario@1b7889e
O meu código foi baseado em um outro de exemplo, porém já tentei identificar onde está o erro e não consigo
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
boolean legal = Boolean.parseBoolean(request.getParameter("legal"));
boolean informativo = Boolean.parseBoolean(request.getParameter("informativo"));
int nota = Integer.parseInt(request.getParameter("nota"));
HttpSession sessao = request.getSession(true);
Questionario questionario = (Questionario) sessao.getAttribute("questionario");
Resultado resultado = new Resultado();
resultado.setInformativo(informativo);
resultado.setLegal(legal);
resultado.setNota(nota);
if(questionario == null){
questionario = new Questionario();
sessao.setAttribute("questionario", questionario);
}
questionario.getLista().add(resultado);
RequestDispatcher redirecionar = request.getRequestDispatcher("/resultado.jsp");
redirecionar.forward(request, response);
}
Outro problema é que toda vez que utilizo o seguinte código na minha view para mostrar o resultado da erro exatamente na linha deste código:
<li>Informativo: ${sessionScope.questionario.mediaInformativo}</li>
Esse código também foi baseado em um projeto, sendo que no projeto que segui funciona perfeitamente.