我在JBoss 4.2和Richfaces 3.3中使用JSF 1.2。 对于我当前的应用程序,我必须构建一个始终显示进度条的小面板 以及以分钟为单位的时间,直到会话暂停(用户退出)。 好吧,到现在为止一切正常。我通过javascript实现了我的解决方案,并且完美无瑕。
但是现在我对ajax请求有一个很大的问题。我看到目前没有解决方案来获取处理程序或在每个ajax请求上触发的事情(重置我的进度条和分钟直到注销)。
到目前为止,这是我的代码:
var timeLeft = document.getElementById('valueObject').value;
var maxTimeoutTime = document.getElementById('valueObject').value;
var intervalID;
function updateProgress() {
var percentageValue = timeLeft / (maxTimeoutTime / 100);
$('form:sessionTimeoutBar').component.setValue(percentageValue);
timeLeft = timeLeft - 1000;
if (timeLeft <= 0){
clearInterval(intervalID);
}
}
function resetProgress() {
alert("CALLED");
timeLeft = document.getElementById('valueObject').value;
$('form:sessionTimeoutBar').component.setValue(100);
clearInterval(intervalID);
intervalID = setInterval(updateProgress, 1000);
}
function startProgress() {
$('form:sessionTimeoutBar').component.enable();
$('form:sessionTimeoutBar').component.setValue(100);
intervalID = setInterval(updateProgress, 1000);
}
timeLeft
和maxTimeoutTime
在隐藏的输入字段上进行检索,该字段从托管bean方法获取信息。
startProgress()
由body标签通过onload调用。