requisição por POST não atualiza os valores dos parâmetros

1 resposta
D

boa noite, estou fazendo uma requisição vai post para salvar o nome de um paciente e seu peso, quando faço a primeira requisição os valores são recuperados pelo Servlet corretamente, mas quando faço pela segunda vez em diante, o request.getParameter tanto para o nome quanto para o peso retornam os mesmos valores da primeira requisição, o que pode estar ocasionando isto?

a requisição faço com JSP, conforme abaixo:

<form id="formPaciente" action="GravaDadosPaciente" method="post">	

				<label for="nome">Nome do paciente</label> 
				<input type="text" id="nome" name="nome" 
					value="<%= rbl.getNomePaciente() %>" onchange="atualizaRbl()" /> 				
			
				<label for="peso">Peso do paciente (quilogramas)</label> 
				<input type="range" onchange="atualizaRbl()" min="10" max="250" id="peso" 
					name="peso" value="<%= rbl.getPesoPaciente() %>"/>
					
				<input type="submit" value="salvar"/>	

</form>

e o servlet

@WebServlet("/GravaDadosPaciente")
public class GravaDadosPaciente extends HttpServlet {

	private static final long serialVersionUID = 1L;
	
	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		ReceitasBean rbl = (ReceitasBean) request.getSession().getAttribute("rbl");
		
		if (rbl == null) {
			rbl = new ReceitasBean();
			request.getSession().setAttribute("rbl", rbl);
		}
		
		String nomePaciente = request.getParameter("nome").equals("")?"Paciente anônimo":request.getParameter("nome");		
		Integer pesoPaciente = Integer.valueOf(request.getParameter("peso"));				
		
		rbl.setPesoPaciente(pesoPaciente);
		rbl.setNomePaciente(nomePaciente);
		
		response.sendRedirect("medicamentos.jsp");
		
	}
	
	
}

1 Resposta

natanaelv

Voce está setando na Sessão e pegando da Sessão.

Em vez de

request.getSession().getParameter() e request.getSession().setParameter()

tenta usar somente request.getParameter() e request.setParameter() .

Criado 6 de agosto de 2012
Ultima resposta 8 de ago. de 2012
Respostas 1
Participantes 2