我有一个servlet和一个调用servlet的表单,当我在servelt中给出sumbit时,我发生了三个不同的操作。我需要为每个操作显示一条消息(“XXXX”处理)是否可以在单一表单提交请求中从servlet向jsp发送三条不同的消息
答案 0 :(得分:0)
可以使用ajax。
您必须在jsp上写一些类似定时请求的内容,以调用单独的请求来检查提交操作的状态。
setTimeout(function() {
$.get("checkStatus",function(response){
//update the message
});
}, 3000);
将上面的代码放在while循环中。确保仅在单击提交按钮后才启动循环。
由于ajax请求是异步的,因此循环不会等待请求完成,因此请确保提供足够的超时。
处理完成后,通过更改来突破循环。
状态检查响应我使用json以便我可以发送更多信息,例如操作的状态和消息或您想要传递的任何其他数据。
完整代码:
var isLopp = true;
$("submitButton").on("click", function() {
$(this).attr("disable", true);
while (isLopp) {
setTimeout(function() {
$.get("checkStatus", function(resp) {
if(resp.status="done"){
isLopp=false;
}
$("message").text(resp.msg);
},"json");
}, 3000);
}
});
相反,如果使用while循环,您也可以使用window.setInterval("javascript function", milliseconds);