0

ユーザーがページを離れたときにセッション変数をクリアしたい。h:selectOneMenu から選択した値に基づいてデータテーブルを表示するフォームがあります。フォームには、セッション変数をクリアするために使用される destroy メソッドを呼び出すキャンセル ボタンがあります。それはすべて正常に動作します。

問題の説明: onunload イベントで呼び出される JavaScript 関数を呼び出しています。この関数は、隠しボタン「destroyBtn」をクリックします。次に、ボタンは destroy() メソッドを呼び出します。destroy メソッドが呼び出されて値がクリアされますが、フォーム外のリンクまたは戻るボタンをクリックするとページ ナビゲーションが停止します。@Component と @Scope("session") を使用しています。

function destroy(){
alert("Inside Destroy");
document.getElementById('MainForm:destroyBtn').click();
}


<h:commandButton id="destroyBtn" styleClass="none" value="Destroy" ajax="false"
 actionListener="#{TutorialsBean.destroy}" />




public void destroy(){
this.searchTxt="";
this.accessType.clear();
this.roleCart.clear();
this.manager = null;
this.helpList.clear();
this.setComment("");
}

JSFとSpringを使用してセッションを処理できる他の方法はありますか?

4

1 に答える 1

0

スコープをビューとして保持しないのはなぜですか? データは、ユーザーがページにアクセスするまでのみ保存され、ユーザーがページを離れると消去されます。

于 2012-12-05T17:01:58.337 に答える