在等待servlet转发到下一页时显示加载程序

时间:2013-04-30 13:16:22

标签: jsp servlets loader forward

我有一个index.html,我有一个表单。当我按提交时,表单向我的servlet发出POST请求。这个servlet执行一些繁重的操作然后转发到jsp。我想要的是当我按下提交,显示装载机。 我知道如何通过javascript(preventDefault等)来做到这一点。我不希望这样。这可以通过servlet完成吗?我试图输出一个只包含加载器的“页面”,然后做重的东西,最后转发到jsp。那没用。由于某种原因,它甚至没有离开index.html,只是保持在那里直到servlet完成,最后我被转发到jsp。

感谢您的帮助

2 个答案:

答案 0 :(得分:2)

这只能使用AJAX来完成。

因此,在单击提交按钮时,显示正在加载图像,并对servlet进行ajax调用。因此,当servlet处理时,将显示加载图像。 Uppon从ajax调用返回,你可以使用javascript来执行你需要的任何操作(将用户转发到另一个页面/显示错误等等)。

我强烈建议您查看JQuery Ajax(这是我用过的最简单有效的脚本)

$.ajax({
    type: 'POST',
    url: '/myServlet',
    data: {
        name: $('#name').val()
    },
    beforeSend:function(){
        // this is where we append a loading image
    },
    success:function(data){
        // successful request; do something with the data            
    },
    error:function(){
        // failed request; give feedback to user
    }
});

答案 1 :(得分:0)

您可以使用Ajax .. 在form submitajax callservlet生成things / html nlec to show loading页面。您可以使用返回的page替换formcurrent page中的任何内容。

ajax form submission将继续作为用户...当其他Servlet完成processing时,您将被重定向到result page