Bleiben Sie auf derselben Seite, auch nachdem Sie das JSP-Formular gesendet haben [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Wie kann ich in JSP eine Überprüfung durchführen und eine Fehlermeldung in derselben Form anzeigen? 3 Antworten

Ich verwende einen JSP, um Daten auf ein Servlet zu posten, aber nach dem Posten der Daten möchte ich zurück bleiben, um JSP zu identifizieren. Kurz: 1) Ich habe hier einen JSP mit 2 Textfeldern. Ich benutze ein Javascript, um Daten auf Knopfdruck von einem zum anderen zu kopieren. 2) Ich benutze die gleiche Schaltfläche, um Daten in eine Datenbank zu posten. 3) Ich möchte, dass beide Aktionen gleichzeitig ausgeführt werden und nicht zum dritten jsp (Servlet-Post-Ergebnis), sondern zu einem anderen jsp gehen, den ich verwende.

Ich bin in der Lage, diese 2 Dinge separat zu behandeln, aber zusammen bin ich nicht in der Lage, es zu tun. Die Daten werden in der Datenbank aktualisiert und im ersten Text wird eine neue Zeile angezeigt (das ist meine Schuld, ich verwende die Umleitungsmethode) oder die Daten werden aus dem ersten Textfeld in ein anderes verschoben und die Daten werden nicht gesendet. Bitte hilf mir dabei. Unten ist das Codestück, mit dem ich es gemacht habe.

Java-Skript zum Kopieren und Veröffentlichen von Daten sind:

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";  
    }  

Die Methoden für die Schaltfläche sind wie folgt deklariert:

<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> 

und der Servlet-Code, den ich verwendet habe, sind wie folgt.

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");  
                  }  

Ich möchte die Daten auch gleich mit dem in das zweite Textfeld kopierten Textfeldwert posten, da ich sie für meine weitere Referenzierung verwenden würde.

Vielen Dank

Antworten auf die Frage(3)

Ihre Antwort auf die Frage