我有如下要求:
在没有用户交互的情况下重复调用特定操作。例如,我有一个消息状态页面,显示JMS消息状态。消息状态可以由许多应用程序组件更改。我想要的是,我的状态UI必须选择最新消息状态。我需要以5秒左右的间隔重复调用状态UI的动作,以便UI显示最新状态。
我怎样才能在春天实现这一点。是什么,轮询行动?
任何帮助高度赞赏
答案 0 :(得分:0)
最简单的方法是每隔几秒使用JavaScript和AJAX(使用jquery的伪代码)询问服务器:
function askServerForStatus() {
$.getJSON('/your-app/jms-status', function(response) {
$('#status').text(response.status);
}
}
setInterval(askServerForStatus, 5000); //every 5 seconds
非常简单的例子,它要求Spring MVC控制器映射到/jms-status
并期望以下JSON响应:
{"status": "Processing..."}
考虑使用setTimeout()
。
更通用,可靠且强大的方法是使用websockets,servlet-3.0异步支持或comet。另请查看atmosphere。