2

我将 JSF 1.2 与 JBoss 4.2 和 Richfaces 3.3 一起使用。对于我当前的应用程序,我必须构建一个小面板,它始终显示一个进度条和会话暂停(用户退出)之前的时间(以分钟为单位)。好吧,到目前为止一切正常。我通过 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);
}

timeLeftmaxTimeoutTime通过从托管 bean 方法获取信息的隐藏输入字段进行检索。 startProgress()由 body 标签通过 onload 调用。

4

0 回答 0