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 を介して呼び出されます。