Estou com um problema para efetuar a atualização de valores em uma div, la eu tenho alguns beans que imprimem o valor de uma classe porem toda alteração atualizo toda a pagina so para mostrar o novo valor, estou usando ajax para enviar os dados via post, uso servlet e jsp sem framework.
packagecom.ask.trata;importjava.util.Vector;importorg.joda.time.DateTime;/** * * @author estagio.desenv */publicclassHorarios{/* * @Classe de tratamento de horarios */privatestaticVector<String>insereHr=newVector<String>();privatestaticVector<Integer>insCod=newVector<Integer>();privatestaticVector<Integer>insereQtd=newVector<Integer>();privateintcont=0;privatestaticStringinput="";privateintmes=newDateTime().getMonthOfYear();privateintano=newDateTime().getYear();privatestaticStringobs;privatestaticStringadd=" ";publicStringgetAdd(){returnadd;}publicHorarios(){}//construtor - Verifica se horario ja não foi armazenado ou é zero e apos armazena ou naopublicHorarios(Stringhr,intcod,intqtd){if(!insereHr.contains(hr)){insCod.add(cod);insereHr.add(hr);insereQtd.add(qtd);add="";}else{add="<small><label style=\"font-family: Arial; font-weight: bold; color: rgb(204, 0, 0);\">"+" Valores inválidos ou já usados !</label></small>";}}//Deleta HorariopublicstaticvoiddelHorario(intcod){for(intx=0;x<insereHr.size();x++){if(insCod.get(x)==cod){insereHr.remove(x);insereQtd.remove(x);insCod.remove(x);break;}}}//Contador para criar inputspublicintgetCont(){returncont;}publicvoidsetCont(intcont){this.cont=cont;}//gera input HTMLpublicStringgetInput(){if(insereHr.size()>0){input="<table style=\"font-weight: bold; font-size: small; color: rgb(29, 36, 198); font-family: Arial; width: 100%; text-align: left; margin-left: auto; margin-right: auto;\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n";for(intx=0;x<insereHr.size();x++){input+="<tr><td>";input+="<a href=\"DelHorario?cod="+insCod.get(x)+"\">["+insCod.get(x)+"] </a>"+insereHr.get(x);input+="<input style=\"height: 12px;\" type=\"text\" name=\"qtd"+cont+"\" value=\""+insereQtd.get(x)+"\" size=\"1\" maxlength=\"2\" onchange=\"ajaxFunction(this.name)\""+" onkeydown=\"if(isNaN(this.value)){this.value = ''}if(this.value<=0){this.value=''}\" "+"onkeyup=\"if(isNaN(this.value)){this.value = ''}if(this.value<=0){this.value=''}\"><br></tr></td>";cont++;}returninput;}else{return"";}}//Soma da quantidade de pessoas inseridaspublicStringgetQtdTotal(){intvalue=0;if(insereQtd.size()!=0){for(intx=0;x<insereQtd.size();x++){value+=insereQtd.get(x);}if(value<10){return"0"+value;}else{return""+value;}}else{return"00";}}publicintgetAno(){if(this.mes==12){returnano+1;}else{returnano;}}publicintgetMes(){if(mes==12){return01;}else{returnmes+1;}}publicstaticvoidclean(){insereHr.clear();insereQtd.clear();insCod.clear();obs="";add="";}publicStringgetObs(){returnobs;}publicstaticvoidsetObs(Stringobs){Horarios.obs=obs;}}
Servlet
packagecom.ask.servlet;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcom.ask.trata.Horarios;importjavax.servlet.RequestDispatcher;importjavax.swing.JOptionPane;/** * * @author estagio.desenv *//* * @Servlet para inclusão de input com o horario selecionado e a quantidade proposta */publicclassIncluiHorariosextendsHttpServlet{@OverrideprotectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{try{//Usa classe de horarios para tratar e armazenarStringhorario=request.getParameter("tempo");Stringhr=horario.substring(6,horario.length())+" ";intcod=Integer.parseInt(horario.substring(1,5));intqtd=Integer.parseInt(request.getParameter("qtd"));if(!hr.equals("")){Horarioshora=newHorarios(hr,cod,qtd);}// Reload na pagina simuladorRequestDispatcherview=request.getRequestDispatcher("/servicos/simulador.jsp");view.forward(request,response);}catch(Exceptione){// Caso nao consiga inserir horario e quantidadeRequestDispatcherview=request.getRequestDispatcher("/servicos/simulador.jsp");view.forward(request,response);}}}
Nessa div que eu quero atualizar os dados apos uma mudança nos inputs
Polverini
consegui efetuar o reload pelo codigo
functiongetXMLObject(){varxmlHttp=false;try{xmlHttp=newActiveXObject("Msxml2.XMLHTTP")//ForOldMicrosoftBrowsers}catch(e){try{xmlHttp=newActiveXObject("Microsoft.XMLHTTP")//ForMicrosoftIE6.0+}catch(e2){xmlHttp=false//NoBrowseracceptstheXMLHTTPObjectthenfalse}}if(!xmlHttp&&typeofXMLHttpRequest!='undefined'){xmlHttp=newXMLHttpRequest();//ForMozilla,OperaBrowsers}returnxmlHttp;//MandatoryStatementreturningtheajaxobjectcreated}functionajaxQtd(nome){varhttp=newgetXMLObject();varvalor=document.getElementsByName(nome)[0].value;if(!isNaN(valor)){varurl="AltQuantidades";varparameters="nome="+nome+"&valor="+valor;http.open("POST",url,true);//Sendtheproperheaderinformationalongwiththerequesthttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");http.setRequestHeader("Content-length",parameters.length);http.setRequestHeader("Connection","close");http.onreadystatechange=function(){if(http.readyState==4&&(http.status==200)){valor=http.responseText;}};$("#acumulador").load("servicos/simulador.jsp #acumulador")//partedamesmapáginahttp.send(parameters);}else{alert('Use Somente Numeros');document.getElementsByName(nome)[0].value='';}}
meu ajax com Jquery, no firefox ta lindo de ver mais no IE ele nao atualiza certo, atualiza 'quando quer', vi uns problemas de cache porem ja tentei de tudo para desabilitar e nada