我有一个index.html,我有一个表单。当我按提交时,表单向我的servlet发出POST请求。这个servlet执行一些繁重的操作然后转发到jsp。我想要的是当我按下提交,显示装载机。 我知道如何通过javascript(preventDefault等)来做到这一点。我不希望这样。这可以通过servlet完成吗?我试图输出一个只包含加载器的“页面”,然后做重的东西,最后转发到jsp。那没用。由于某种原因,它甚至没有离开index.html,只是保持在那里直到servlet完成,最后我被转发到jsp。
感谢您的帮助
答案 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 submit
上ajax call
向servlet
生成things
/ html
nlec to show loading
页面。您可以使用返回的page
替换form
或current page
中的任何内容。
ajax
form submission
将继续作为用户...当其他Servlet
完成processing
时,您将被重定向到result page
。