提交jsp表单后仍保留在同一页面

Rak*_*esh 6 javascript jsp servlets

我正在使用jsp将数据发布到servlet,但是在发布数据之后我想留下来查看jsp.简单地说:1)我在这里有一个带有2个文本框的jsp.我使用javascript按钮点击将数据从一个复制到另一个.2)我使用相同的按钮将数据发布到数据库.3)我希望一次完成两个动作,不应该转到第三个jsp(servlet post结果),但是,应该转到我使用的另一个jsp.

我能够单独处理这两件事,但我无法做到这一点.数据在数据库中更新并在第一个文本中显示一个新行(这是我的错误,我正在使用重定向方式)或将数据从第一个文本框移动到另一个文本框并且不进行数据发布.请帮我解决这个问题.下面是我用来做的代码.

用于复制数据和发布数据的java脚本是:

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";  
    }  
Run Code Online (Sandbox Code Playgroud)

按钮的方法声明如下:

<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> 
Run Code Online (Sandbox Code Playgroud)

我使用的servlet代码如下.

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");  
                  }  
Run Code Online (Sandbox Code Playgroud)

我想发布数据以及复制到第二个文本框中的文本框值相同,因为我将它用于我的进一步参考.

谢谢

小智 1

正如我在评论中提到的,请考虑对 servlet 进行 javascript 异步调用 (AJAX)。

在这种情况下,您的页面不会更改,您可以在后台与服务器进行所有交互。

这是AJAX教程

如果您不是经验丰富的 Javascript 程序员,请考虑这个 JavaScript 教程

JSP本质上是一个servlet,即它是服务器端代码,但是您可以将javascript嵌入到您的JSP页面中,它将在客户端的浏览器(客户端侧)上工作,并在后台向服务器发送/接收数据包,无需将整个页面提交到服务器。

下面是JSP和AJAX结合的例子