Dados inseridos não atualizam na tela com I.E

3 respostas
W

tenho uma aplicação com duas telas que mudo entre uma e outra via ajax. Primeira tela cadastro, segunda tabela com lista desses cadastros.
Primeiro insiro os dados na primeira tela da aplicação, depois clico no segundo radiobutoon para visualizar a tela com a lista cadastrada e o dado que acabei de inserir não aparece.
Se eu fechar o browser, limpar os dados dele e voltar a aplicação, os dados aparecem.
Esse problema acontece no Internet Explorer, mas no firefox e no chrome não. Meu problema é justamente aqui na empresa o Internet Explorer ser o browser padrão.
Alguém já passou por isso ?

3 Respostas

Hebert_Coelho

Será que isso ñ é problema de cookie ñ?

W

Como resolveria esse problema de cookie ? Saindo do programa para limpar o cookie nõa fica viável para o cliente e desabilitar o cookie não me parece uma boa prática
meu código está abaixo:
Meu servlet que recebe os dados da tela:

protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String pacienteStr = request.getParameter("paciente");
		String acompanhanteStr = request.getParameter("acompanhante");
		String dataInicialStr = request.getParameter("dataInicial");
		String comentarioStr = request.getParameter("comentario");
		String servicoComboStr = request.getParameter("comboservico");
		String size = request.getParameter("listsize");
		String[] opcao = new String[Integer.parseInt(size)];
		for(int i=0, j=1; i<opcao.length; i++, j++){
			opcao[i] = request.getParameter("radio_"+j);
		}

		Session session = HibernateFactory.getSession();

		PacienteDAO pacienteDAO = new PacienteDAO(session);
		Paciente paciente = pacienteDAO.buscaPacientePorNome(session, pacienteStr);
		Qualidade qualidade = new Qualidade();
		qualidade.setData(Funcoes.StringParaData(dataInicialStr, "MM/yyyy"));
		qualidade.setComentarioSugestao(comentarioStr);
		qualidade.setServicoUtilizado(ServicoUtilizadoQualidade.valueOf(servicoComboStr));
		qualidade.setPaciente(paciente);
		qualidade.setAcompanhante(acompanhanteStr);

		QualidadeDAO qualidadeDAO = new QualidadeDAO(session);

		List<RespostaQualidade> listRrespostaQualidade = new ArrayList<RespostaQualidade>();
		for(int i=0, j=1; i<opcao.length; i++, j++){
			PerguntaQualidade perguntaQualidade = qualidadeDAO.buscaPerguntaPorOrdem(j);
			RespostaQualidade respostaQualidade = new RespostaQualidade();
			respostaQualidade.setQualidade(qualidade);
			respostaQualidade.setNivelSatisfacao(NivelSatisfacao.valueOf(opcao[i]));
			respostaQualidade.setPerguntaQualidade(perguntaQualidade);
			listRrespostaQualidade.add(respostaQualidade);
		}
		qualidade.setRespostaQualidade(listRrespostaQualidade);

		try {
			qualidadeDAO.gravaQualidade(qualidade, paciente);
		} catch (Exception e) {
			String msg = "Erro ao cadastrar qualidade do paciente "+pacienteStr+".";
			mensagem(request, response, msg);
		} finally {
			String msg = "Qualidade do paciente '"+pacienteStr+"' cadastrada com sucesso.";
			mensagem(request, response, msg);
		}
	}

dao:

public void gravaQualidade(Qualidade qualidade, Paciente paciente) {
		session.save(qualidade);
		session.save(paciente);
		Transaction tx = session.beginTransaction();
		tx.commit();
		session.close();
	}
Hebert_Coelho

Em nenhum momento eu disse para desabilitar o cookie! =P

Você poderia criar um filtro e fazer a alteração do cookie para expirar quando o browser fechar.

Não te garanto que esse é seu problema, mas pode ser algo do tipo.

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