Mi problema es que tengo un jsp que se abre en un div de otra pagina, cuando se carga la pagina en ese div traigo los datos de una bd y los muestro, al traer estos datos el se sigue cargando en el mismo div, como ya tengo los datos puedo modificarlos y volverlos a enviar y al hacer esto el vuelve y se carga en el div y hasta ahi todo bien, cuando vuelvo y traigo los datos de la bd me doy cuenta que no han sido modificados, lo cual es mentira, y descubri que el problema era que no me estaba trayendo los datos de la bd sino que me mostraba los que ya habia cargado y este es mi problema, es decir que ni siquiera entra a mi Controlador de Servlet (ControladorServlet) ,antes de hacer que la pagina se cargara en el div el me hacia todo el proceso bien por eso creo que tengo es un inconveniente con al hacer que se cargue en este div, bueno eso creo realmente no lo se.
aclaro que todo lo demas me lo hace bien, el me modifica, me ingresa y me consulta, aclarando que son jsp diferentes los que me hacen esto y el problema lo tengo es al cargar los datos en modificar ya que lo que hago es traer los datos como ya lo explique.
para cargar los datos en el div uso el llamarasincrono con una pequeña modificacion para que se siga cargando la pagina al enviar el formulario este es el codigo de ese llamar asincrono.
Código:
// Documento JavaScript // Esta funci�n cargar� las paginas function llamarasincronoInterno(url,id_contenedor,formulario){ var pagina_requerida = false if (window.XMLHttpRequest) {// Si es Mozilla, Safari etc pagina_requerida = new XMLHttpRequest() } else if (window.ActiveXObject){ // pero si es IE try { pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP") } catch (e){ // en caso que sea una versi�n antigua try{ pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP") } catch (e){} } } else return false pagina_requerida.onreadystatechange=function(){ // funci�n de respuesta cargarpagina(pagina_requerida, id_contenedor) } var datos='?'+document.getElementById(formulario).elements[0].name+'='+document.getElementById(formulario).elements[0].value; for(var i = 1; i < document.getElementById(formulario).elements.length; i++) { datos = datos+'&'+document.getElementById(formulario).elements[i].name datos = datos+'='+document.getElementById(formulario).elements[i].value } pagina_requerida.open('GET',url+datos,true) // asignamos los m�todos open y send pagina_requerida.send(null) } // todo es correcto y ha llegado el momento de poner la informaci�n requerida // en su sitio en la pagina xhtml function cargarpagina(pagina_requerida, id_contenedor){ if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1)) document.getElementById(id_contenedor).innerHTML=pagina_requerida.responseText } function validar(formulario){ for(var i = 1; i < document.getElementById(formulario).elements.length; i++) { if (document.getElementById(formulario).elements[i].value==null||(/^\s+$/.test(document.getElementById(formulario).elements[i].value))||document.getElementById(formulario).elements[i].value.length==0){ return false; } } return true; } function comprobar(formu){ for(var i = 1; i < document.getElementById(formu).elements.length; i++) { if(document.getElementById(formu).elements[i].name == document.form1.boton1){ if(document.form1.boton1.value == document.getElementById(formu).elements[i].value) { return true; } else { return false; } } else { return false; } } } function llamarasincronoInterno2(url,id_contenedor,formulario){ var pagina_requerida = false if (window.XMLHttpRequest) {// Si es Mozilla, Safari etc pagina_requerida = new XMLHttpRequest() } else if (window.ActiveXObject){ // pero si es IE try { pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP") } catch (e){ // en caso que sea una versi?n antigua try{ pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP") } catch (e){} } } else return false pagina_requerida.onreadystatechange=function(){ // funci?n de respuesta cargarpagina(pagina_requerida, id_contenedor) } var datos='?'+document.getElementById(formulario).elements[0].name+'='+document.getElementById(formulario).elements[0].value; if(comprobar(formulario)){ datos = datos+'&'+document.getElementById(formulario).elements[i].name datos = datos+'='+document.getElementById(formulario).elements[i].value } else { datos = datos+'&'+document.getElementById(formulario).elements[i].name datos = datos+'='+document.getElementById(formulario).elements[i].value } pagina_requerida.open('GET',url+datos,true) // asignamos los m?todos open y send pagina_requerida.send(null) } // todo es correcto y ha llegado el momento de poner la informaci?n requerida // en su sitio en la pagina xhtml function cargarpagina(pagina_requerida, id_contenedor){ if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1)) document.getElementById(id_contenedor).innerHTML=pagina_requerida.responseText }
espero haber sido claro
Gracias.