当前位置: 首页 > 知识库问答 >
问题:

即使在提交jsp表单[副本]后仍保持在同一页面

丁雅惠
2023-03-14

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

我可以单独处理这两件事,但放在一起我就做不到了。数据在数据库中得到更新,并在第一个文本中显示一个新行(这是我的错,我使用了重定向方式),或者将数据从第一个textbox移动到另一个textbox而不进行数据发布。请帮我做这件事。下面是我用来做这件事的代码片段。

用于复制数据和post数据的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";  
    }  

按钮的方法声明如下:

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

和我使用的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");  
                  }  

共有1个答案

鲁俊友
2023-03-14

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

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

这里是AJAX教程

下面是JSP和AJAX组合的示例

 类似资料:
  • 问题内容: 考虑: 提交表单时,如何确保下拉列表中的选定值保持选中状态?此表单位于WordPress(PHP)内部。 问题答案: 为了避免许多if-else结构,让JavaScript自动完成:

  • 可以给我一个例子从提交按钮后的输入中提取数据,并在同一页发送到输出H2吗? 这是我的输入和提交按钮。 谢谢你的帮助!!

  • 下面是MultistepForm的代码。我已经实现了一个多步骤表单功能,所以这里一切都很好,只是问题是在这个表单中,我在最后一步有一个预览页面,所以当我点击提交按钮时,表单正在消失,按钮正在顶部移动。所以如果有人能帮我请。

  • 问题内容: 大家好,我有一个联系表格,验证码在那里。提交表格后,我想保留支票。我发布了文本框值,它显示正确,但复选框不起作用。这是我的代码。 提交表格后如何保留复选框? 问题答案: 更改 至 这将使复选框保持选中状态。

  • 考虑以下代码 结果如下: notifyAll()在13毫秒时被调用。但是,控件仅在10016毫秒时退出等待()。 从上面给出的代码中可以看出,在进行了通知()调用之后,等待()调用似乎没有立即结束。 但是,包括Java API在内的所有文档都指定,调用wait()的方法应该在notify()调用之后立即获得锁。 如果在调用通知()时等待()不会结束,那么对通知()的需求就会变得无效,因为即使没有调

  • 我使用Python3和Selenium firefox提交一个表单,然后获取它们登陆的URL。我是这样做的 这在大多数情况下都有效,但有时页面加载时间超过5秒,我会得到旧的URL,因为新的URL还没有加载。 我应该怎么做?