0

我想在用户离开页面时清除会话变量。我有一个表单,我在其中显示基于从 h:selectOneMenu 中选择的值的数据表。该表单有一个取消按钮,该按钮调用用于清除会话变量的销毁方法。一切正常。

问题描述:我正在调用一个在 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 回答