Estoy usando un jsp para publicar datos en un servlet, pero después de publicar los datos quiero quedarme nuevamente en jsp. En pocas palabras: 1) Tengo un jsp aquí con 2 cuadros de texto. Uso un javascript para copiar datos de uno a otro con un clic de botón. 2) Uso el mismo botón para publicar datos en una base de datos. 3) Quiero que las dos acciones se hagan a la vez y no se deben pasar al tercer jsp (resultado de la publicación del servlet), pero sí a otra jsp que uso.Permanecer en la misma página incluso después de enviar el formulario jsp
soy capaz de manejar estas 2 cosas por separado pero juntas no puedo hacerlo. los datos se actualizan en la base de datos y muestran una nueva línea en el primer texto (es mi culpa que estoy usando el método de redireccionamiento) o mueve los datos del primer cuadro de texto a otro y no hace la publicación de datos. por favor ayúdame a hacerlo. a continuación está la pieza de código que solía hacer.
java script para copiar los datos y datos de envío son:
function move(){
document.getElementById('tgt1').value = document.getElementById('Allocation').value;
document.getElementById('Allocation').value="";
document.getElementById("Send").disabled=true;
}
function invoke(but)
{
if(but==0)
{
document.myform.action="Alloc_Insert.do";
}
los métodos para el botón se declaran los siguientes:
<table><tr><center><td><input type="Submit" value="Allocate" id="Send" onClick="invoke(0);move();" style="width:150px" style="font-size:100%"/></td></center></tr> </table>
y el código de servlet i utilizadas son las siguientes.
ResultSet rs=null;
String Add=request.getParameter("tgt1");
String user=(String) session.getAttribute("myusername");
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();Date d1 = new Date();
String d1_str = new SimpleDateFormat("yyyy-MM-dd").format(d1);
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","system","tiger");
PreparedStatement ps=con.prepareStatement("UPDATE SCOPE1 SET ALLOCATED='"+d1_str+"', SPECIALIST='"+user+"' WHERE DBID='"+Add+"'");
con.setAutoCommit(true);
int i=ps.executeUpdate();
if(i==1)
{
String redirectURL= "Update_Counts.jsp";
response.sendRedirect(redirectURL);
}
else{
out.print("retry");
}
Quiero publicar los datos aswell como estar en el mismo con el valor de texto copiado en el segundo cuadro de texto, como se iba a usar para mi más referrence.
Gracias
Solo como una opción: use javascript AJAX llama al servlet para enviar/recibir datos. –
Hola Rafael, gracias por la respuesta, soy nuevo en Java y también desconozco que Ajax me permite saber cómo lograr esto en jsps regulares o javascripts – Rakesh