页面上的链接调用servlet,执行后返回到上一页

link on page calls a servlet after execution go back to previous page

本文关键字:执行 返回 一页 servlet 链接 调用      更新时间:2023-09-26

我有一个HTML页面。在这个页面上我有一个链接。当用户单击链接时,我调用一个servlet,它在一个新页面中打开。在这个servlet上,我试图更新我的数据库。完成更新后,我可以关闭从servlet启动的页面。现在我想在原来的HTML页面上运行一个脚本,但是我不能这样做,因为没有触发器/事件来调用该方法。

我该怎么做呢?提前感谢!

您可以使用ajax轮询servlet执行的后端进程的状态。当它完成后,您可以执行您想要的任何操作。比如:

var checkStatusTimeout;
function checkStatus(){
    $.ajax({
        type: "GET",
        url: "./getstatus",
        dataType: "text",
        contentType: "application/json; charset=utf-8",
        success: function(status){
            if (status == 'FINISHED'){
                clearTimeout(checkStatusTimeout);
                // execute whatever you want here
            }
        }
    });
    checkStatusTimeout = window.setTimeout("checkStatus()", 5000);
}

当用户点击链接时,应该调用checkStatus()函数。

或者您可以将servlet使用的子窗口分配给一个变量,并不时检查它以验证窗口是否已关闭。看看Mark Coleman在javascript上的回答:父窗口如何知道它的子窗口关闭了?为指令。